Pagini recente » Cod sursa (job #1400405) | Cod sursa (job #2219523) | Cod sursa (job #2798793) | Cod sursa (job #2814310) | Cod sursa (job #380989)
Cod sursa(job #380989)
Program P1;
type vector=array[1..1000] of integer;
var a : vector;
n,i : integer;
Procedure swap(a,b : integer);
var t : integer;
begin
t:=a; a:=b; b:=a;
end;
Function part(l,r,pivotIndex : integer) : integer;
var storeIndex,pivotVal,i : integer;
begin
storeIndex:=l;
pivotVal:=a[pivotIndex];
swap(a[pivotIndex],a[r]);
for i:=l to r do
if a[i]<=pivotVal then
begin
swap(a[i],a[storeIndex]);
inc(storeindex);
end;
swap(a[r],a[storeIndex]);
part:=storeindex;
end;
Procedure quicksort(l,r : integer);
var pivotIndex,newpivotIndex : integer;
begin
pivotindex:=l;
if r>l then
begin
newpivotIndex:=part(l,r,pivotIndex);
quicksort(l,newpivotIndex-1);
quicksort(newpivotIndex+1,r);
end;
end;
begin
readln(n);
for i:=1 to n do
read(a[i]);
quicksort(1,n);
for i:=1 to n do
write(a[i],' ');
end.