delphi产生不重复随机数的算法


本文整理自网络,侵删。

 delphi产生不重复随机数的算法能够解决诸如随机洗牌,抽彩等问题,在网上的一些算法自觉较繁,现给出简单的算法。以下源程序为1..36个数字,随机排列,产生不重复随机数。 
var

aa : array[1..36] of string[2]; //aa数组为需要随机排列的数组,

{先把1..36按顺序给aa数组赋值}

procedure TForm1.FormCreate(Sender: TObject);

var

i:integer;

begin

for i:=1 to 36 do begin

aa[i]:=inttostr(i);

bb[i]:=inttostr(i);

end;

end;

{随机进行排列}

procedure TForm1.Button1Click(Sender: TObject);

var

i,j:integer;

swapa:string[2];

begin

randomize;

for i:=1 to 36 do begin

j:=1+random(36);

swapa:=aa[i];

aa[i]:=aa[j];

aa[j]:=swapa;

end; //由此得到不重复的随机排列数字


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/oury/archive/2005/04/18/351992.aspx

相关阅读 >>

Delphi 双击listbox1内容,数据插入到memo1/synedit1鼠标指定位置

Delphi assignfile 与指定的文件建立连接

Delphi 泛型数组 strsplit 字符串分割

Delphi 密码框写完后按enter直接登录

Delphi fdquery遍历输出 json

Delphi 使用代理服务器

Delphi 获取硬盘盘符

Delphi datasnap 2009的简单使用

Delphi 指定在ie浏览器或ie内核打开链接

Delphi汉字与多字节编码的转换

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...