Pagini recente » Cod sursa (job #3139331) | Cod sursa (job #2312902) | Cod sursa (job #1167618) | Cod sursa (job #709844) | Cod sursa (job #2673092)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f ("algsort.in");
ofstream g("algsort.out");
int v[10000],n,i,j;
void QS(int x,int y)
{
if(x<y)
{
if(v[x]>v[(y+x)/2])
swap(v[x],v[(y+x)/2]);
if(v[x]>v[y])
swap(v[x],v[y]);
if(v[(y+x)/2]>v[y])
swap(v[(y+x)/2],v[y]);
i=x;
swap(v[(y+x)/2],v[y]);
for(j=x;j<=y-1;j++)
if(v[j]<v[y])
{
swap(v[i],v[j]);
i++;
}
swap(v[y],v[i]);
QS(x,i-1);
QS(i+1,y);
}
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
f>>v[i];
QS(1,n);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
}