一个简单的算法,定义一个长度为n的数组,随机顺序存储1至n的的全部正整数,不重复。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了一个简单的算法,定义一个长度为n的数组,随机顺序存储1至n的的全部正整数,不重复。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1242字,纯文字阅读大概需要2分钟。
内容图文
![一个简单的算法,定义一个长度为n的数组,随机顺序存储1至n的的全部正整数,不重复。](/upload/InfoBanner/zyjiaocheng/1054/7438cbf38dc041ef92818f7cbb3bd641.jpg)
前些天看到.net笔试习题集上的一道小题,要求将1至100内的正整数随机填充到一个长度为100的数组,求一个简单的算法。
今天有空写了一下。代码如下,注释比较详细:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Text.RegularExpressions; 6 7 namespace TestNumber 8 { 9 class Program 10 { 11 // 定义判断正整数的正则表达式 12 public static string regex = "^[1-9][0-9]*"; 13staticvoid Main(string[] args) 14 { 1516 Console.WriteLine("please input a number!"); 17string InputStr = Console.ReadLine(); 18//判断输入是否正整数,不是的话,结束方法19if (!Regex.IsMatch(InputStr,regex)) 20 { 21 Console.WriteLine("input format error !"); 22return; 23 } 24//转换整形25int InputNum=Convert.ToInt32(InputStr); 2627//创建整形集合,将1至n放置集合28 List<int> NumList = new List<int>(); 29for (int j = 1; j < InputNum+1; j++) 30 { 31 NumList.Add(j); 32 } 33//定义一个随机数实例34 Random R=new Random(); 35int[] OutputNum = newint[InputNum]; 36for (int i = 0; i < InputNum; i++) 37 { 38//获取集合的随机一个元素39int k = R.Next(0, InputNum-i); 40//将元素放置数组41 OutputNum[i] = NumList[k]; 42//集合移除该元素43 NumList.RemoveAt(k); 44 } 45foreach (var i in OutputNum) 46 { 47 Console.Write(i+","); 48 } 4950 } 51 } 52 }
测试异常结果如下:
测试正常结果如下:
ok,that‘s all.
原文:http://www.cnblogs.com/mengsx/p/4119101.html
内容总结
以上是互联网集市为您收集整理的一个简单的算法,定义一个长度为n的数组,随机顺序存储1至n的的全部正整数,不重复。全部内容,希望文章能够帮你解决一个简单的算法,定义一个长度为n的数组,随机顺序存储1至n的的全部正整数,不重复。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。