//purpose:产生随机的不重复的测试数据
//copyright@ 2010.05.30 july
//参考:http://blog.youkuaiyun.com/v_JULY_v/article/details/6451990
//1000w数据量,要保证生成不重复的数据量;
//data: 2012.10.9
#include<iostream>
#include<time.h>
#include<assert.h>
//文件操作用到这个头文件
#include<fstream>
//srand函数用到这个文件
#include<stdlib.h>
using namespace std;
const int size = 10000000;
int num[size];
int main(int argc, char *argv[])
{
int n;
FILE *fp = fopen("data.txt", "w");
assert(fp);
for (n = 1; n <= size; n++)
num[n] = n;
srand((unsigned)time(NULL));
int i, j;
for (n = 0; n < size; n++)
{
i = (rand() * RAND_MAX + rand()) % 10000000;
j = (rand() * RAND_MAX + rand()) % 10000000;
swap(num[i], num[j]);
}
for (n =0; n < size; n++)
{
fprintf(fp, "%d ", num[n]);
}
fclose(fp);
return 0;
}
产生1000w不重复的数字
最新推荐文章于 2025-09-24 15:39:02 发布
本文介绍了一种使用C++实现的方法,用于生成一千万级别的不重复随机数,并将其写入文件。通过多次随机交换数组元素的位置来确保随机性和唯一性。
1399

被折叠的 条评论
为什么被折叠?



