鱼C论坛

 找回密码
 立即注册
查看: 2767|回复: 1

[学习笔记] 冒泡排序 - 阶段性上机实践(小结)03 - 零基础入门学习Delphi018

[复制链接]
发表于 2017-8-5 14:19:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
又到了上机练习了。本课是做一个冒泡排序,自然是使用数组了。
冒泡的算法很简单,是排序中最简单最容易理解的,也是最慢的。需要两层循环,先将第一个元素依次与第二个的比较,如果小则与后面的交换,直至第n个,然后做1~n-1,再1~n-2,直至排序完成。
界面上建立一个edit用以输入数值,一个button将edit的数值放入数组,并显示在lable1上,依次输入完毕,按button2排序,并显示在label2上。小甲鱼的程序是拍成从大到小的,再反序输出,我简化了一下,直接从小到大排序。
  1. implementation

  2. {$R *.dfm}
  3. Var
  4.   n: Integer = 0;

  5.   Num: Array[0..99] of Integer;
  6. procedure TForm1.Button1Click(Sender: TObject);
  7. begin
  8.   Button2.Enabled:= True;
  9.   Num[n]:= StrToInt(Edit1.Text);
  10.   Label1.Caption:= Label1.Caption + Edit1.Text + ' ';
  11.   Edit1.Text:= '';
  12.   n := n + 1;
  13. end;

  14. procedure TForm1.Button2Click(Sender: TObject);
  15. var
  16.   i, j, temp: Integer;
  17. begin
  18.   n:= n -1;
  19.   for i:= 0 to n - 1 do
  20.     for j:= 0 to n - i - 1 do
  21.       if Num[j] > Num[j + 1] then
  22.         begin
  23.           temp := Num[j];
  24.           Num[j]:= Num[j + 1];
  25.           Num[j + 1]:= temp;
  26.         end;
  27.   for i:= 0 to n do
  28.     Label2.Caption:= Label2.Caption + IntToStr(Num[i]) + ' ';
  29.   Edit1.Enabled:= False;
  30.   Button1.Enabled:= False;
  31. end;
复制代码

1.jpg
2.jpg
3.JPG

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-25 08:49:35 | 显示全部楼层
看了好几遍 终于弄懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 20:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表