产生一个1-100长度为100不重复的数组
来源:互联网 发布:会计数据的特点是 编辑:程序博客网 时间:2024/06/04 21:34
问题描述:产生一个长度为100的数组,为数组中的每一项随机填充1-100之间的数并且保证不重复 (C#实现)
class Program { static void Main(string[] args) { GetValue(100); GetValue(1000); GetValue(10000); GetValue(100000); Console.ReadLine(); } private static void GetValue(int count) { Console.WriteLine("产生{0}个随机数", count); var stw1 = new Stopwatch(); stw1.Start(); Rand1(count); stw1.Stop(); Console.WriteLine("方法一耗时:{0}({1}毫秒)", stw1.Elapsed, stw1.ElapsedMilliseconds); var stw2 = new Stopwatch(); stw2.Start(); Rand2(count); stw2.Stop(); Console.WriteLine("方法二耗时:{0}({1}毫秒)", stw2.Elapsed, stw2.ElapsedMilliseconds); Console.WriteLine(); } /// <summary> /// 方法一 /// </summary> static void Rand1(int count) { var lst = new List<int>(count); for (var i = 0; i < count; i++) { lst.Add(i + 1); } var num = new int[count]; var rd = new Random(); for (var i = 0; i < count; i++) { var n = rd.Next(0, lst.Count); num[i] = lst[n]; lst.RemoveAt(n); } } /// <summary> /// 方法二 /// </summary> private static void Rand2(int count) { var lst = new List<int>(count); var rd = new Random(); do { var n = rd.Next(1, count + 1); if (!lst.Contains(n)) lst.Add(n); } while (lst.Count < count); } }
输出结果:
产生100个随机数方法一耗时:00:00:00.0002995(0毫秒)方法二耗时:00:00:00.0002533(0毫秒)产生1000个随机数方法一耗时:00:00:00.0001203(0毫秒)方法二耗时:00:00:00.0109224(10毫秒)产生10000个随机数方法一耗时:00:00:00.0031532(3毫秒)方法二耗时:00:00:01.1962977(1196毫秒)产生100000个随机数方法一耗时:00:00:00.3800280(380毫秒)方法二耗时:00:02:46.7962774(166796毫秒)
->可以看出数量大的时候,第二种方式的效率就非常低了
0 0
- 产生一个1-100长度为100不重复的数组
- 面试题:产生一个长度为100的数组,为数组中的每一项随机填充1-100之间的数并且保证不重复
- 面试题:产生一个长度为100的数组,为数组中的每一项随机填充1-100之间的数并且保证不重复
- 产生一个长度为100的数组,为数组中的每一项随机填充1-100之间的数并且保证不重复
- loner_li 产生一个长度为100的数组,为数组中的每一项随机填充1-100之间的数并且保证不重复
- 温故知新--数组(产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。)
- 数组问题:产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
- 用c# 产生一个 int 数组 长度为100,并向其中随机插入 1-100 ,并且不能重复
- a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
- 产生一个int 数组,长度为100,并向其中随时插入1-100,并且不能重复
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
- java笔试题---程序产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
- HDOJ 4638 Group
- 微信公众开放平台开发03---百度BAE上搭建属于自己的微信公众平台 -JAVA,微信公众开放平台部署到百度云中BASE2.0,进行调试,木有钱买云服务器的亲们试试
- 算法第四周作业
- Android 中Touch(触屏)事件传递机制
- 南阳理工OJ_题目541 最强DE 战斗力
- 产生一个1-100长度为100不重复的数组
- 文件I/O例子
- JAVA中string.repalce()和string.replaceAll()有什么区别?
- 单例模式
- 算法第四次作業
- Area of Polycubes(简单模拟)
- 栈的两种C++实现
- [LeetCode]10.Regular Expression Matching
- The connection to adb is down, and a severe error has occured.