jrvf 发表于 2012-4-22 08:28:36

冒泡排序一行代码很不解,鱼油们帮帮忙

implementation
var
num : array of Integer;
i : Integer = 0;

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
lbl1.Caption:= lbl1.Caption + edt1.Text + ' ';
num:= StrToInt(edt1.text);
i:= i + 1;
edt1.Text:= '';
end;

procedure TForm1.btn2Click(Sender: TObject);
var
j,k,l,n : Integer;
begin
for l:= 0 to i-1 do
begin
k:= i - l;
for j:= 0 to k do
begin
if (num < num) then
begin
n:= num;
num:= num;
num:= n;
end;
end;
end;
lbl1.Caption:= '';
for l:=i-1 downto 0 do
lbl1.Caption:= lbl1.Caption + IntToStr(num) + ' ';

end;
for l:=i-1 downto 0 do这一行,我原先的猜想是l:=i,但是排序的时候会在前面多出一个0,这点很不解。

jrvf 发表于 2012-4-22 08:29:51

代码在34行

酷°飞丶fēi 发表于 2012-6-22 23:58:48

数组是从1开始的,你down to0的话会多出来一个num来,而它是没有值的,就会乱显示咯
页: [1]
查看完整版本: 冒泡排序一行代码很不解,鱼油们帮帮忙