Cod sursa(job #1652328)
| Utilizator | Data | 14 martie 2016 21:17:48 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
#include<iostream>
using namespace std;
ifstream in ("algsort.in");
ofstream out ("algsort.out");
void qsort(long long i,long long n)
{ long long p=i,u=n,pivot=v[(i+n)/2];
while(p<=u)
{
while(v[p]<pivot)
p++;
while(v[u]>pivot)
u--;
if(p<u)
{
swap(p,u);
p++;
u--;
}
}
if(i<p)
qsort(i,p);
if(u<n)
qsort(u,n);
}
int main()
{
long long v[500000],i,n,j;
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
qsort(i,n);
for(i=1;i<=n;i++)
out<<v[i]<<" ";
}
