Pagini recente » Cod sursa (job #628181) | Cod sursa (job #3215417) | Cod sursa (job #85083) | Cod sursa (job #2407032) | Cod sursa (job #2009711)
#include <bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[500005];
int n;
int q_partition(int p, int q)
{
int i=p,j=q,pivot;
pivot=v[(p+q)/2];
while(i<=j)
{
while(v[i]<pivot)
i++;
while(v[j]>pivot)
j--;
if(i<=j)
{
swap(v[i],v[j]);
i++;
j--;
}
}
return i;
}
void quick_sort(int p, int q)
{
int k=q_partition(p,q);
if(p<k-1)
quick_sort(p,k-1);
if(k<q)
quick_sort(k,q);
}
int main()
{f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
quick_sort(1,n);
for(int i=1;i<=n;i++)
g<<v[i]<<' ';
g<<'\n';
return 0;
}