冬雪雪冬 发表于 2017-8-5 14:22:32

冒泡排序V2.0 - 阶段性上机实践(小结)03 - 零基础入门学习Delphi019

与上一课的区别是在edit1中一次输入全部的数字,之间用空格隔开,按钮改为可以有位图的Bitbtn,结果仍显示在edit1中。
首先要去掉字符串两边的空格,避免判断失误。Trim去除字符串两端的空格,LTrim去除左边空格,RTrim去除右边。
单个字符不用如空格不用’ ’表示,而用#32。但我用’ ‘程序也可以正常运行。
字符串当数组使用下标从1开始,真是奇葩,有的从0开始,有的从1开始,晕了!
调试中,下断点后,按Ctrl-Alt-L,可查看变量的值,这对观察变量的变化情况很有帮助。
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i, j, n, temp: Integer;
Num: Array of Integer;
Str, TempStr: String;
begin
Str:= Edit1.Text;
Str:= Trim(Str);
TempStr:= '';
n:= 1;
for i:= 1 to Length(Str) do
    if Str = ' ' then
      begin
      Num:= StrToInt(TempStr);
      TempStr:= '';
      n:= n + 1;
      end
    else
      TempStr:= TempStr + Str;
   Num:= StrToInt(TempStr);

for i:= 1 to n - 1 do
    for j:= 1 to n - i do
      if Num > Num then
      begin
          temp := Num;
          Num:= Num;
          Num:= temp;
      end;
Edit1.Text:= '';
for i:= 1 to n do
    Edit1.Text:= Edit1.Text + IntToStr(Num) + ' ';

end;

不多太少 发表于 2018-2-25 08:50:53

先暂时不看这个了
页: [1]
查看完整版本: 冒泡排序V2.0 - 阶段性上机实践(小结)03 - 零基础入门学习Delphi019