본문
#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] 테터툴즈에 소스코드 올리기! (0) | 2007.02.07 |
Effective TCP/IP Programming - 44Tips to improve your network programs (0) | 2007.02.06 |
[Info] 월급쟁이의 비애- 각종 세금 계산 법. (0) | 2007.01.25 |