procedure TForm1.Button9Click(Sender: TObject);
var
a:integer;
Temp:integer;
i,j:integer;
M:array[0..999]of Integer;
begin
randomize;
for i:=0 to 999 do //fill the array with 0..999
M:=i;
for i:=0 to 999 do
begin //此算法将被选中的数放到数组头部,然后再剩下的数中进行选取
j:=random(1000-i)+i
//每循环一次范围减1
Temp:=M
//交换M和M[j]
M:=M[j];
M[j]:=Temp;
end;
//Now M[] is Random
end;