Pagini recente » Cod sursa (job #738176) | Cod sursa (job #2358852) | Cod sursa (job #2152634) | Cod sursa (job #3131618) | Cod sursa (job #1175889)
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
#define N 500000
int v[N], n;
int pivot(int st, int dr)
{
int i=1, j=0;
while(st!=dr)
{
if(v[st]>v[dr])
{
v[st]=v[st]+v[dr]-(v[dr]=v[st]);
i=i+j-(j=i);
}
st+=i;
dr-=j;
}
return st;
}
void quicksort(int st, int dr)
{
if(st<dr)
{
int p = pivot(st, dr);
quicksort(st,p-1);
quicksort(p+1, dr);
}
}
int main()
{
in >> n;
for(int i=0;i<n;i++)
in >> v[i];
quicksort(0, n-1);
for(int i=0;i<n;i++)
out << v[i] << " ";
in.close();
out.close();
return 0;
}