Cod sursa(job #2914189)
Utilizator | Data | 19 iulie 2022 11:05:15 | |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#define N_max 500001
using namespace std;
ifstream cin ("algsort.in");
ofstream cout ("algsort.out");
long long v[N_max];
int n;
void QuickSort(int l,int r)
{
int i=l,j=r,piv=v[(l+r)/2];
while(i<=j)
{
while(v[i]<piv) ++i;
while(v[j]>piv) --j;
if(i<=j) swap(v[i],v[j]),++i,--j;
}
if(i<r) QuickSort(i,r);
if(j>l) QuickSort(l,j);
}
int main()
{
cin>>n;
for(int i=1;i<=n;++i) cin>>v[i];
QuickSort(1,n);
for(int i=1;i<=n;++i) cout<<v[i]<<" ";
return 0;
}