Pagini recente » Cod sursa (job #187762) | Cod sursa (job #1612190) | Cod sursa (job #2673179) | Cod sursa (job #2062396) | Cod sursa (job #2376917)
#include <bits/stdc++.h>
using namespace std;
int partition(int v[], int left, int right) {
int i = left;
int j = right+1;
int pivot = v[left];
while(1) {
do{
i++;
}while(v[i]<pivot);
do {
j--;
}while(v[j]>pivot);
if(i>=j)
break;
swap(v[i], v[j]);
}
swap(v[left], v[j]);
return j;
}
void quicksort(int v[], int left, int right) {
if(left>=right) return;
else {
int p = partition(v, left, right);
quicksort(v, left, p-1);
quicksort(v, p+1, right);
}
}
int main()
{
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, v[500001];
fin>>n;
for(int i=0; i<n; i++) {
fin>>v[i];
}
quicksort(v, 0, n-1);
for(int i=0; i<n; i++) {
fout<<v[i]<<" ";
}
return 0;
}