pascal多关键字快排,哪里错了阿?求赐教!
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 03:26:08
pascal多关键字快排,哪里错了阿?求赐教!
procedure qsort(l,r:longint);
var i,j:longint;
k,x:arr;
begin
if l>=r then exit;
i:=l-1; j:=r+1; x:=a[random(r-l+1)+l];
while true do begin
repeat inc(i) until (a[i].a>x.a)or((a[i].a=x.a)and(a[i].b>x.b));
repeat dec(j) until (a[j].a
procedure qsort(l,r:longint);
var i,j:longint;
k,x:arr;
begin
if l>=r then exit;
i:=l-1; j:=r+1; x:=a[random(r-l+1)+l];
while true do begin
repeat inc(i) until (a[i].a>x.a)or((a[i].a=x.a)and(a[i].b>x.b));
repeat dec(j) until (a[j].a
procedure pai(l,r:longint);
var
i,j,mid1,mid2:longint;
t:re;
begin
i:=l;j:=r;
mid1:=a[(l+r)shr 1].x;
mid2:=a[(l+r)shr 1].y;
repeat
while (a[i].xmid2)) do dec(j);
if ij;
if i
再问: 谢谢拉,不过我想要我的while true do else break;的写法,请问如何才能改一改呢?^;^
再答: 那就把repeat 语句用while写出来就好了嘛~
var
i,j,mid1,mid2:longint;
t:re;
begin
i:=l;j:=r;
mid1:=a[(l+r)shr 1].x;
mid2:=a[(l+r)shr 1].y;
repeat
while (a[i].xmid2)) do dec(j);
if ij;
if i
再问: 谢谢拉,不过我想要我的while true do else break;的写法,请问如何才能改一改呢?^;^
再答: 那就把repeat 语句用while写出来就好了嘛~