Cod sursa(job #1452317)
| Utilizator | Data | 20 iunie 2015 15:58:49 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
#include<iostream>
using namespace std;
int v[500000];
void qsort(int s,int d)
{
int m=v[(s+d)/2];
int i,j;
j=d;
i=s;
while(i<=j)
{
while(v[i]<m)
i++;
while(v[j]>m)
j--;
if(i<=j)
{swap(v[i],v[j]);
i++;
j--;}
}
if(s<j)
qsort(s,j);
if(i<d)
qsort(i,d);
}
ifstream in("algsort.in");
ofstream out("algsort.out");
int main()
{
int n,i;
in>>n;
for(i=0;i<n;i++)
{
in>>v[i];
}
qsort(0,n-1);
for(i=0;i<n;i++)
{
out<<v[i]<<" ";
}
return 0;
}
