冒泡排序一行代码很不解,鱼油们帮帮忙
implementationvar
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,这点很不解。
代码在34行 数组是从1开始的,你down to0的话会多出来一个num来,而它是没有值的,就会乱显示咯
页:
[1]