马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
|