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 获取access中的表名

Delphi中二进制文件数据存文件方法

Delphi下遍历指定目录下指定类型文件的函数

Delphi 解决webbrowser不能复制的问题

Delphi 7中ado控件打开access数据库文件

Delphi如何在一个窗体中嵌入另一个窗体

Delphi xe firemonkey的stylebook皮肤控件的使用

Delphi 高速替换大文本字符串内容

Delphi 字符串中末位是双字节字符的处理(避免最后一位为乱码)

Delphi 反转字符串方法2

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



打赏

取消

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

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

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

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

评论

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