【模板】快速排序

来源:互联网 发布:邮票交易软件下载 编辑:程序博客网 时间:2024/05/22 08:06
var
a:array[1..100000]of longint;
i,n:longint;
procedure qsort(l,r:longint);
var
i,j,mid,t:longint;
begin
    i:=l;
    j:=r;
    mid:=a[(l+r) div 2];
    repeat
        while a[i]<mid do inc(i);
        while a[j]>mid 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 l<j then qsort(l,j);
    if i<r then qsort(i,r);
end;
begin
    readln(n);
    for i:=1 to n do
    read(a[i]);
    qsort(1,n);
    for i:=1 to n-1 do
    write(a[i],' ');
    write(a[n]);
end.
0 0
原创粉丝点击