鱼C论坛

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

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

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

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

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

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

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

  Num: Array[0..99] of Integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button2.Enabled:= True;
  Num[n]:= StrToInt(Edit1.Text);
  Label1.Caption:= Label1.Caption + Edit1.Text + ' ';
  Edit1.Text:= '';
  n := n + 1;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  i, j, temp: Integer;
begin
  n:= n -1;
  for i:= 0 to n - 1 do
    for j:= 0 to n - i - 1 do
      if Num[j] > Num[j + 1] then
        begin
          temp := Num[j];
          Num[j]:= Num[j + 1];
          Num[j + 1]:= temp;
        end;
  for i:= 0 to n do
    Label2.Caption:= Label2.Caption + IntToStr(Num[i]) + ' ';
  Edit1.Enabled:= False;
  Button1.Enabled:= False;
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-11-22 00:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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