type rec=record val:extended; ran:extended; end; trecarr=array of rec; tarr=array of extended;
procedure TForm1.Button1Click(Sender: TObject); var arr1,arr2:tarr; recarr:trecarr; i:integer; begin setlength(arr1,1000000); setlength(arr2,1000000); setlength(recarr,1000000); for i:= 1 to 1000000 do arr1[i-1]:=random(1000000); for i:=1 to 1000000 do begin recarr[i-1].val :=arr1[i-1]; recarr[i-1].ran :=random(1000000); end; //这里再自己写一个过程按ran将recarr排序;代码太多了,我不写了,可用冒泡法等。 for i:=1 to 1000000 do begin arr2[i-1]:= recarr[i-1].val; end; end;
var ii,jj: Integer;
temp: String;
randomize;
for ii:= 0 to 1000000 - 1 do
begin
jj := random(1000000);
temp := arr[ii];
arr[ii] := arr[jj];
arr[jj] := temp;
end;
rec=record
val:extended;
ran:extended;
end;
trecarr=array of rec;
tarr=array of extended;
procedure TForm1.Button1Click(Sender: TObject);
var arr1,arr2:tarr;
recarr:trecarr;
i:integer;
begin
setlength(arr1,1000000);
setlength(arr2,1000000);
setlength(recarr,1000000);
for i:= 1 to 1000000 do
arr1[i-1]:=random(1000000);
for i:=1 to 1000000 do
begin
recarr[i-1].val :=arr1[i-1];
recarr[i-1].ran :=random(1000000);
end;
//这里再自己写一个过程按ran将recarr排序;代码太多了,我不写了,可用冒泡法等。
for i:=1 to 1000000 do
begin
arr2[i-1]:= recarr[i-1].val;
end;
end;