鱼C论坛

 找回密码
 立即注册
查看: 3062|回复: 2

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

[复制链接]
发表于 2012-4-22 08:28:36 | 显示全部楼层 |阅读模式

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

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

x
  1. implementation
  2. var
  3. num : array[1..100] of Integer;
  4. i : Integer = 0;

  5. {$R *.dfm}

  6. procedure TForm1.btn1Click(Sender: TObject);
  7. begin
  8. lbl1.Caption:= lbl1.Caption + edt1.Text + ' ';
  9. num[i]:= StrToInt(edt1.text);
  10. i:= i + 1;
  11. edt1.Text:= '';
  12. end;

  13. procedure TForm1.btn2Click(Sender: TObject);
  14. var
  15. j,k,l,n : Integer;
  16. begin
  17. for l:= 0 to i-1 do
  18. begin
  19. k:= i - l;
  20. for j:= 0 to k do
  21. begin
  22. if (num[j] < num[j+1]) then
  23. begin
  24. n:= num[j];
  25. num[j]:= num[j+1];
  26. num[j+1]:= n;
  27. end;
  28. end;
  29. end;
  30. lbl1.Caption:= '';
  31. for l:=i-1 downto 0 do
  32. lbl1.Caption:= lbl1.Caption + IntToStr(num[l]) + ' ';

  33. end;
复制代码
for l:=i-1 downto 0 do这一行,我原先的猜想是l:=i,但是排序的时候会在前面多出一个0,这点很不解。
1.png 2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-22 08:29:51 | 显示全部楼层
代码在34行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-22 23:58:48 | 显示全部楼层
数组是从1开始的,你down to0的话会多出来一个num[0]来,而它是没有值的,就会乱显示咯
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-3-29 03:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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