首先你要有产生随机数的函数,ran(i)产生(0,1)间的随机数,取整的
函数int(),
0)初始化一个selected[inputnumber]的数组,所有的值为-1
1)table1.open
2)reccount:=table.recodcount<-table里的记录数
2)for x:=1 to inputnumber do
begin
findit:=false;
while(findit=false) do
begin
k:=int(ran(i)*reccount); //随机的记录号
for y:=1 to x do
begin
if selected[y]=k then //是否此记录号前面已选过
begin
break for;
findit:=true;
end;
if findit:=false then //找出无重复的记录号后,读到临时表
begin
table.move(k);<-移到第k条记录
把这条记录读入临时表;
selected[x]:=k
end;
end;
end;
end;
读出临时表;