#include <stdio.h>
#define MAX_ARRAY 10
void generate_random(int *random_array, int size)
{
int i, random_number, temp_value;
for( i = 0; i < size; i++ )
random_array[i] = i;
for( i = size - 1; i > 0; i-- )
{
random_number = (rand() + rand()) % i;
// swap
temp_value = random_array[i];
random_array[i] = random_array[random_number];
random_array[random_number] = temp_value;
}
}
int main(void)
{
int i, random_value[MAX_ARRAY];
generate_random(&random_value[0], MAX_ARRAY);
for( i = 0; i < MAX_ARRAY; i++ )
printf("%d\n", random_value[i]);
return 0;
}
학교다닐 때 과제를 하다보면 이러한 서플 알고리즘을 사용해야될 경우가 많다.
보통...똑같은 숫자가 안나올때까지 확인하면서..
하나 생성하고 지금까지 만들어진 값과 loop 돌면서 비교해서 있으면 버리고.-_-;
최악의 알고리즘으로-_-;;; 하진 않았던가?ㅡ.ㅡ;
물론-_-................
난 옛날에 그렇게 햇기 때문에-_-이런걸 홈피에 올리는거지만..ㅡㅜㅋㅋㅋㅋ
(조교들고 그렇게 가르쳐줬었고-_-;; 나도 그렇게 가르쳤다;;)
------------------------------------------------------------------------------
이 코드는 KLDP에서 글을 보다-0-
저장시켜놨던거...
출처 : http://kldp.org/node/78905
뭐..코드는 따로 설명할 필요없이. 보면 OK?
'컴퓨터 이야기' 카테고리의 다른 글
| [English] CNN Radio Internet Address (0) | 2007/04/03 |
|---|---|
| static 라이브러리 관련- (0) | 2007/03/19 |
| [Tip] 간단한 Shuffle 알고리즘 코드. (0) | 2007/03/15 |
| [Tip] 테터툴즈에 소스코드 올리기! (0) | 2007/02/07 |
| Effective TCP/IP Programming - 44Tips to improve your network programs (0) | 2007/02/06 |
| [Info] 월급쟁이의 비애- 각종 세금 계산 법. (0) | 2007/01/25 |
댓글을 달아 주세요