Pagini recente » Cod sursa (job #2074939) | Cod sursa (job #386789) | Cod sursa (job #513824) | Cod sursa (job #562942) | Cod sursa (job #2295945)
#include <fstream>
#define nmax 500001
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,a[nmax];
int partitie(int st, int dr)
{ int pivot=a[dr];
int i,j;
i=st-1;
for(j=st; j<=dr; j++)
if(a[j]<pivot) {i++; swap(a[i],a[j]);}
swap(a[i+1],a[dr]);
return i+1;
}
void QuickSort(int st,int dr)
{ if(st<dr)
{ int pivot=partitie(st,dr);
QuickSort(st,pivot-1);
QuickSort(pivot+1,dr);
}
}
int main()
{ fin>>n;
int i;
for(i=1; i<=n; i++) fin>>a[i];
QuickSort(1,n);
for(i=1; i<=n; i++) fout<<a[i]<<" ";
return 0;
}