快速排序整个程序【Pascal】

来源:百度知道 编辑:UC知道 时间:2024/05/23 18:22:18
给我一下Pascal快排的整个程序(含定义)
谢谢了哦

program asdf;
type
arr=array[0..50000] of longint;
var
a,b,f:arr;
………………
function max(a,b:longint):longint;
begin
if a>b then
exit(a)
else exit(b);
end;
procedure quick1(l,r:longint);
var
i,j,t: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 i<=j then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
inc(i);
dec(j);
end;
until i>j;
if i<r then
quick1(i,r);
if l<j then
quick1(l,j);
end;
……………………
begin
readln(n);
for i:=1 to n do
read(a[i]);
quick(1,n);
……………………