Delphi洗牌演算法 將乙個陣列隨機亂序

2021-06-15 05:47:26 字數 2138 閱讀 9998

用於考試時亂序,相同的試題,但每位考生看到的題序不同。

//布局

procedure tform1.formcreate(sender: tobject);

begin

self.width := 950;

self.height:= 270;

//固定行列

stringgrid1.fixedcols := 1 ;

stringgrid1.fixedrows := 1;

//**數

stringgrid1.rowcount := 5+1;

stringgrid1.colcount := 20+1;

//列寬

stringgrid1.defaultcolwidth := 40;

stringgrid1.defaultrowheight := 20;

end;

//初始化陣列

procedure tform1.initvalue();

var i : integer;

begin

for i:=1 to 20 do

begin

array20[i] := inttostr(i);

end;

end;

//隨機得到新陣列

procedure tform1.tmprandom();

var i,j : integer;

swp:string;

begin

randomize;

for i:=1 to 20 do

begin

j := 1 + random(20);

swp := array20[i];

array20[i] := array20[j];

array20[j] := swp;

end;

end;

//顯示原有陣列

procedure tform1.button1click(sender: tobject);

var i : integer;

begin

initvalue;

for i:=1 to 20 do

begin

stringgrid1.cells[i,1]:= array20[i];

end;

end;

//顯示新陣列

procedure tform1.button2click(sender: tobject);

var i : integer;

begin

tmprandom;

for i:=1 to 20 do

begin

stringgrid1.cells[i,2]:= array20[i];

end;

end;

end.

將乙個陣列追加到別乙個陣列

問題 將乙個陣列追加到別乙個陣列 方案 1 使用array merge 在使用這個合併陣列時如果使用數字鍵,那麼索引會重新編號.如果使用字串鍵,則會導致第二個陣列中的鍵 覆蓋第乙個陣列中的同名鍵 此時第乙個陣列中的值也就消失了 如果是兩種鍵則會表現出上述兩種特徵.r array 1 2 dd 3 4...

將乙個陣列進行翻轉

題目 將陣列var a 1,2,3 變成陣列 4,3,2,1 的正確方式?a a.reserse unshift 4 b a.push 4 reserve c a.push 4 a.reserve d a.splice 3 1,4 reserve 根據下面的知識點的解題思路 a選項,a.revers...

演算法 將乙個陣列中的數組合全部列出

使用迴圈遞迴演算法 public class test listall arrays.aslist array private static void listall list aslist,string string for int i 0 i aslist.size i 這個方法十分巧妙啊,在f...