代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
不重复随机数列生成算法
作者:
eaglet
/ 发布于
2011/1/18
/
547
给定一个正整数n,需要输出一个长度为n的数组,数组元素是随机数,范围为0 – n-1,且元素不能重复。比如 n = 3 时,需要获取一个长度为3的数组,元素范围为0-2,
比如 0,2,1。
<div><span class="rem"><font color="#008000">/// <summary></font></span> <pre> <span class="rem"><font color="#008000">/// Designed by eaglet</font></span></pre> <pre class="alt"> <span class="rem"><font color="#008000">/// </summary></font></span></pre> <pre> <span class="rem"><font color="#008000">/// <param name="total"></param></font></span></pre> <pre class="alt"> <span class="rem"><font color="#008000">/// <returns></returns></font></span></pre> <pre> <span class="kwrd"><font color="#0000ff">public</font></span> <span class="kwrd"><font color="#0000ff">static</font></span> <span class="kwrd"><font color="#0000ff">int</font></span>[] GetRandomSequence2(<span class="kwrd"><font color="#0000ff">int</font></span> total)</pre> <pre class="alt"> {</pre> <pre> </pre> <pre class="alt"> <span class="kwrd"><font color="#0000ff">int</font></span>[] sequence = <span class="kwrd"><font color="#0000ff">new</font></span> <span class="kwrd"><font color="#0000ff">int</font></span>[total];</pre> <pre> <span class="kwrd"><font color="#0000ff">int</font></span>[] output = <span class="kwrd"><font color="#0000ff">new</font></span> <span class="kwrd"><font color="#0000ff">int</font></span>[total];</pre> <pre class="alt"> </pre> <pre> <span class="kwrd"><font color="#0000ff">for</font></span> (<span class="kwrd"><font color="#0000ff">int</font></span> i = 0; i < total; i++)</pre> <pre class="alt"> {</pre> <pre> sequence[i] = i;</pre> <pre class="alt"> }</pre> <pre> </pre> <pre class="alt"> Random random = <span class="kwrd"><font color="#0000ff">new</font></span> Random();</pre> <pre> </pre> <pre class="alt"> <span class="kwrd"><font color="#0000ff">int</font></span> end = total - 1;</pre> <pre> </pre> <pre class="alt"> <span class="kwrd"><font color="#0000ff">for</font></span> (<span class="kwrd"><font color="#0000ff">int</font></span> i = 0; i < total; i++)</pre> <pre> {</pre> <pre class="alt"> <span class="kwrd"><font color="#0000ff">int</font></span> num = random.Next(0, end + 1);</pre> <pre> output[i] = sequence[num];</pre> <pre class="alt"> sequence[num] = sequence[end];</pre> <pre> end--;</pre> <pre class="alt"> }</pre> <pre> </pre> <pre class="alt"> <span class="kwrd"><font color="#0000ff">return</font></span> output;</pre> <pre> }</pre> <style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }</style></div>
试试其它关键字
不重复随机数列
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
eaglet
贡献的其它代码
(
1
)
.
不重复随机数列生成算法
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3