我是靠谱客的博主 无情芝麻,这篇文章主要介绍高效生成1万个不重复的随机数,现在分享给大家,希望可以做个参考。

#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万个不重复内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(116)

评论列表共有 0 条评论

立即
投稿
返回
顶部