概述
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
#define DATA_LEN 10000
void print(int *x)
{
int i;
for (i=0; i<10; i++) {//打印10个数据看一下
printf("%d ", x[i]);
}
printf("n");
}
void mix(int *x, int len)
{
int i1, i2;
int tmp;
srand(time(NULL));
for(int i=0; i<len; i++) {
i1 = rand() % len;//rand()生成0~RAND_MAX之间的随机整数
i2 = rand() % len;
tmp = x[i1];
x[i1] = x[i2];
x[i2] = tmp;
}
}
int main(int argc, char *argv[])
{
int *pdata = (int *)malloc(sizeof(int)*DATA_LEN);
for(int i=0; i<DATA_LEN; i++) {
pdata[i] = i;
}
print(pdata+DATA_LEN-10);//乱序前
mix(pdata, DATA_LEN);
print(pdata+DATA_LEN-10);//乱序后
return 0;
}
最后
以上就是无情芝麻为你收集整理的高效生成1万个不重复的随机数的全部内容,希望文章能够帮你解决高效生成1万个不重复的随机数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复