洗牌算法(From 《编程珠玑》):

随机生成0~N之间的N个不重复整数_i++#define N 10000000
随机生成0~N之间的N个不重复整数_i++
void swap(int *i, int *j)
随机生成0~N之间的N个不重复整数_洗牌算法_03随机生成0~N之间的N个不重复整数_洗牌算法_04
...{
随机生成0~N之间的N个不重复整数_洗牌算法_05 
int temp=*i;
随机生成0~N之间的N个不重复整数_洗牌算法_05 
*i=*j;
随机生成0~N之间的N个不重复整数_洗牌算法_05 
*j=temp; 
随机生成0~N之间的N个不重复整数_编程珠玑_08}

随机生成0~N之间的N个不重复整数_i++
随机生成0~N之间的N个不重复整数_i++
int* RandInts()
随机生成0~N之间的N个不重复整数_洗牌算法_03随机生成0~N之间的N个不重复整数_洗牌算法_04
...{
随机生成0~N之间的N个不重复整数_洗牌算法_05 
int *n=(int*)malloc(N*sizeof(int));
随机生成0~N之间的N个不重复整数_洗牌算法_05 
for(int i=0;i<N;i++)
随机生成0~N之间的N个不重复整数_洗牌算法_05  n[i]
=i;
随机生成0~N之间的N个不重复整数_洗牌算法_05 srand(time_t());
随机生成0~N之间的N个不重复整数_洗牌算法_05 
for(int i=0;i<N;i++)
随机生成0~N之间的N个不重复整数_i++_18随机生成0~N之间的N个不重复整数_知识_19 
...{
随机生成0~N之间的N个不重复整数_洗牌算法_05  swap(
&(n[i]),&(n[rand()%N]));
随机生成0~N之间的N个不重复整数_i++_21 }

随机生成0~N之间的N个不重复整数_洗牌算法_05 
return n;
随机生成0~N之间的N个不重复整数_编程珠玑_08}

随机生成0~N之间的N个不重复整数_i++
随机生成0~N之间的N个不重复整数_i++
void main()
随机生成0~N之间的N个不重复整数_洗牌算法_03随机生成0~N之间的N个不重复整数_洗牌算法_04
...{
随机生成0~N之间的N个不重复整数_洗牌算法_05    
int *n=RandInts(); 
随机生成0~N之间的N个不重复整数_编程珠玑_08}

随机生成0~N之间的N个不重复整数_i++