pascal快排教程
答案:1 悬赏:0 手机版
解决时间 2021-02-23 21:00
- 提问者网友:凉末
- 2021-02-23 14:48
急啊
最佳答案
- 五星知识达人网友:玩家
- 2021-02-23 15:05
procedure sort(l,r: longint);
var
i,j,x,y: longint;
begin
i:=l;j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]<x do inc(i);
while x<a[j] do dec(j);
if not(i>j) then begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
inc(i);dec(j);
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
对有n个数的数组a进行排序,一开始在主程序中执行sort(1,n);
var
i,j,x,y: longint;
begin
i:=l;j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]<x do inc(i);
while x<a[j] do dec(j);
if not(i>j) then begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
inc(i);dec(j);
end;
until i>j;
if l<j then sort(l,j);
if i<r then sort(i,r);
end;
对有n个数的数组a进行排序,一开始在主程序中执行sort(1,n);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯