#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define SIZE 10
void generateRandom();
int main(){
srand((unsigned)time(NULL));
generateRandom();
return 0;
}
/*
* 产生 1~SIZE 之间的不重复的随机数
* */
void generateRandom(){
int auxiliaryArray[SIZE + 1];
int i;
for( i = 1; i <= SIZE; i++ )
{
auxiliaryArray[i] = i;
}
int random[SIZE + 1];
int length = SIZE;
int temp_random;
for( i = 1; i <= SIZE; i++ )
{
temp_random = rand()%length + 1;
random[i] = auxiliaryArray[temp_random];
auxiliaryArray[temp_random] = auxiliaryArray[length--];
}
printf("random sequence without repeated:\n");
for( i = 1; i <= SIZE; i++ )
{
printf("%d ", random[i]);
}
}
生成不重复的随机数的高效的算法
最新推荐文章于 2018-11-29 18:38:48 发布