樱花d4安装:混合排序小练习
来源:百度文库 编辑:偶看新闻 时间:2024/04/29 11:07:14
混合排序小练习
2011 年的最后一天了...
混合排序 -> 搅乱、重新洗牌; 以 Integer 动态数组为例.
//两个辅助函数 Swap、ToStr, 分别用于交换数组元素和呈现为字符串procedure Swap(var Arr: TArray; a,b: Cardinal);var tmp: Integer;begin if (a >= Length(Arr)) or (b >= Length(Arr)) or (a = b) then Exit; tmp := Arr[a]; Arr[a] := Arr[b]; Arr[b] := tmp;end;function ToStr(const Arr: TArray ): string;var n: Integer;begin for n in Arr do Result := Result + IntToStr(n) + sLineBreak;end;//-----------------------------------------------------------------{1、简单反排序}procedure SimpleShuffle(var Arr: TArray );var r,i: Integer; //分别用作随机索引、遍历索引begin for i := 0 to Length(Arr) - 1 do begin r := Random(Length(Arr)); Swap(Arr, i, r); end;end;{2、好的反排序}procedure GoodShuffle(var Arr: TArray );var r,i: Integer;begin for i := Length(Arr) - 1 downto 0 do begin r := Random(i + 1); if r <> i then Swap(Arr, i, r); end;end;{测试}procedure TForm1.Button1Click(Sender: TObject);var arr1,arr2: TArray ;begin arr1 := TArray .Create(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); // arr2 := Copy(arr1); //// SimpleShuffle(arr2); GoodShuffle(arr2); Memo1.Text := ToStr(arr1); Memo2.Text := ToStr(arr2);end;
寻找小学英语排序练习
请问怎么练习关闭唱法,就是真假声混合。
c++计数排序的小问题
c++计数排序的小问题2
排序。。。。。。。。
小肘肌肉如何练习?
英语2个小练习
[向高手请教]C语言的一道小排序题
求一“人员排序程序”的汇编小程序
如何练习小腹部的肌肉?
VB练习时的一个小问题!
奥运运动员练习时小故事
哪有练习重装系统的小软件?
小护士维他滋润洗面乳适合混合性肤质吗?
小护士清泽洗面奶好用么`本人是混合皮肤!
谁知哪里可以下载练习盲打的小程序? 如何练习盲打?
有拼音练习打字的小软件游戏吗?
传奇3中,达到什么标准才能练习小火球?
怎样练习打通小周天,请用现代话介绍!
请问练习气功多久能打通小周天
请高手给些练习吉他小技巧
帮我写下C语言的小程序,有关排序算法
我是一个小女生,是混合性皮肤的....我平时应该怎么护肤呢?
排序问题!