首页 新闻 搜索 专区 学院

有冒泡算法对随机生成的动态数组从小到大排序

1
悬赏园豆:140 [待解决问题]

procedure TForm1.Button1Click(Sender: TObject);
var
  Arr: array of  Integer; {定义一个动态数组}
  i,ic: Integer;
begin
  {设置数组}
  SetLength(Arr, 20);
  {获取各维的维数}
  ic := Length(Arr);
 {赋值}
  for i := 0 to ic - 1 do
   Arr[i] := Random(100);
  {取值}
  Memo1.Clear;
    for i := LOW(ARR) to HIGH(ARR) do


        Memo1.Lines.Add(Format('Arr[%d] = %d', [i,  Arr[i]]));
        Edit1.Text:= inttostr(Arr[LOW(ARR)]);
        EDIT3.Text:= inttostr(Arr[HIGH(ARR)]);
end;
点击“Button1”随机得到20个动态数组。
我想点击“Button2”,运用冒泡方法,把点击“Button1”得的随机数组,从小到大排序。
屾楂樹的主页 屾楂樹 | 初学一级 | 园豆:60
提问于:2011-03-03 14:43
< >
分享
所有回答(2)
0

建议:把数组全局化

冒泡代码:

procedure bublerank(var a:array of integer)
var i,j,temp:integer;
begin
for i:=low(a) to high(a)-1 do
for j:=low(a) to high(a)-i-1 do
if a[j]>a[j+1] then
begin
temp:
=a[j];
a[j]:
=a[j+1];
a[j
+1]:=temp;
end;
end;
Rusty's code | 园豆:410 (菜鸟二级) | 2011-03-19 18:26
0

说法有问题,20动态数组?20个元素吧,就是一个从前往后比较,谁大就往后换,楼上代码很详细,主要是楼主应该知道原理

天府熊猫 | 园豆:225 (菜鸟二级) | 2011-05-17 17:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册