快速排序pascal程序。
procedure qkpass(var r:listtype;s,t:integer;var i:integer);
i:=s;j:=t;rp:=r[s];x:=r[s].key;
while i<j do
begin while (i<j)and(r[j].key>=x) do
j:=j-1;
r[i]:=r[j];
while (i<j)and(r[i].key<=x) do
i:=i+1;
r[j]:=r[i];
end;
r[i]:=rp;
end-qkpass;
procedure qksort(var r:listtype;s,t:integer);
if s<t then
begin
qkpass(r,s,t,k);
qksort(r,s,k-1);
qksort(r,k+1,t);{利用二分的思想}
end;
end-qksort;