Pagini recente » Cod sursa (job #3149205) | Cod sursa (job #1708993) | Cod sursa (job #1922541) | Cod sursa (job #3190718) | Cod sursa (job #3254090)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
const int nmax = 500000;
long long v[nmax + 5];
int n;
int pivot(int st,int dr)
{
int trv = 1;
while(st<dr)
{
if(v[st] > v[dr])
swap(v[st],v[dr]),trv = 1-trv;
st+=1-trv;
dr-=trv;
}
return st;
}
void quick_sort(int st,int dr)
{
if( st >= dr)
return;
int p = pivot(st,dr);
quick_sort(st,p-1);
quick_sort(p+1,dr);
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++) fin>>v[i];
quick_sort(1,n);
for(int i=1;i<=n;i++) fout<<v[i]<<' ';
}