Cod sursa(job #2162445)
Utilizator | Noroc Andrei Mihail andreiutu111 | Data | 12 martie 2018 11:09:09 |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int N,v[500001];
void QuickSort(int st,int dr){
int i=st,j=dr,piv=v[(st+dr)/2];
while(i<=j){
while(v[i]<piv)++i;
while(piv<v[j])--j;
if(i<=j)swap(v[i],v[j]),++i,--j;
}
if(st<j)QuickSort(st,j);
if(i<dr)QuickSort(i,dr);
}
int main()
{
f>>N;
for(int i=1;i<=N;++i)f>>v[i];
QuickSort(1,N);
for(int i=1;i<=N;++i)g<<v[i]<<' ';
return 0;
}