Pagini recente » Cod sursa (job #2900988) | Cod sursa (job #2542877) | Cod sursa (job #1895111) | Cod sursa (job #713738) | Cod sursa (job #1850716)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n, a[500001];
void quicksort(int l, int r)
{
int i, j, m;
if (l >= r) {
return;
}
m = a[l +(r-l)/2];
i = l;
j = r;
while( l < j || i < r ){
while(a[i] < m) i++;
while(a[j] > m) j--;
if(i <= j){
swap(a[i], a[j]);
i++;
j--;
}
else{
if(l < j) quicksort(l, j);
if(i < r) quicksort(i, r);
return;
}
}
}
int main()
{
ifstream fin("algsort.in");
ofstream fout("algsort.out");
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] << " ";
fin.close();
fout.close();
return 0;
}