A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 行我福 中级黑马   /  2015-1-25 22:58  /  995 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 行我福 于 2015-1-25 22:58 编辑

测试一个算法的排序,需要输入大量的数据,如果每次测试都是手动输入,会显得比较Low。当然,文件读取的方法也未尝不可,只是,作为测试数据,文件数据写死了,就削弱了测试数据的准确性了,那么,我来分享下一个随机生成的n个整型的数组
生成不重复随机数的程序:
  1. #include <stdlib.h>
  2. int CreateData(int arr[],int n,int min,int max) //创建一个随机数组,a保存生成的数据,n为数组元素的数量
  3. {
  4.     int i,j,flag;
  5.     srand(time(NULL));
  6.     if((max-min+1)<n) return 0; //最大数与最小数之差小于产生数组的数量,生成数据不成功
  7.     for(i=0;i<n;i++)
  8.     {
  9.         do
  10.         {
  11.             arr[i]=(max-min+1)*rand()/(RAND_MAX+1)+min;
  12.             flag=0;
  13.             for(j=0;j<i;j++)
  14.             {
  15.                 if(arr[i]==arr[j])
  16.                     flag=1;
  17.             }
  18.         }while(flag);        
  19.     }
  20.     return 1;
  21. }
复制代码

大家不妨小试下~

评分

参与人数 1黑马币 +3 收起 理由
张文文 + 3 赞一个!

查看全部评分

2 个回复

倒序浏览
顶!!!!!!!

点评

H币,怎么弄的?  发表于 2015-1-27 10:38
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马