本帖最后由 行我福 于 2015-1-25 22:58 编辑
测试一个算法的排序,需要输入大量的数据,如果每次测试都是手动输入,会显得比较Low。当然,文件读取的方法也未尝不可,只是,作为测试数据,文件数据写死了,就削弱了测试数据的准确性了,那么,我来分享下一个随机生成的n个整型的数组
生成不重复随机数的程序:
- #include <stdlib.h>
- int CreateData(int arr[],int n,int min,int max) //创建一个随机数组,a保存生成的数据,n为数组元素的数量
- {
- int i,j,flag;
- srand(time(NULL));
- if((max-min+1)<n) return 0; //最大数与最小数之差小于产生数组的数量,生成数据不成功
- for(i=0;i<n;i++)
- {
- do
- {
- arr[i]=(max-min+1)*rand()/(RAND_MAX+1)+min;
- flag=0;
- for(j=0;j<i;j++)
- {
- if(arr[i]==arr[j])
- flag=1;
- }
- }while(flag);
- }
- return 1;
- }
复制代码
大家不妨小试下~
|