快排: { Author:wzx961008 Problem:UVa 11462-Age Sort Verdict:Accepted Language:PASCAL Run Time:0.948s Submission Date:2011-02-14 09:34:03 } var a:array[1..2000000]of longint; n,i:longint; procedure qsort(l,r:longint); var i,j,x,y:longint; begin i:=l; j:=r; x:=a[l+random(r-l-1)+1]; repeat while a[i]<x do inc(i); while x<a[j] do dec(j); if 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 qsort(l,j); if i<r then qsort(i,r); end; begin randomize; while true do begin readln(n); for i:=1 to n do read(a[i]); if n=0 then break; qsort(1,n); write(a[1]); for i:=2 to n do write(' ',a[i]); writeln; end; end.