Pagini recente » Cod sursa (job #2417080) | Cod sursa (job #2499033) | Cod sursa (job #412638) | Cod sursa (job #1001373) | Cod sursa (job #2783989)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int n,v[500001];
void Quicksort (int left, int right)
{
int len=right-left+1;
if (len<=1)return;
if (len==2)
{
if (v[left]>v[right])
swap (v[left],v[right]);
return;
}
int x=(left+right)/2;
swap (v[x],v[right]);
int i=left;
for (int j=left;j<right;++j){
if (v[j]<=v[right]){
swap (v[i],v[j]);
i++;
}
}
swap (v[right],v[i]);
Quicksort(left,i-1);
Quicksort(i+1,right);
}
int main()
{
srand(time(NULL));
fin >>n;
for (int i=1;i<=n;++i)
fin >>v[i];
Quicksort (1,n);
for (int i=1;i<=n;++i)
fout <<v[i]<<' ';
return 0;
}