Pagini recente » Cod sursa (job #989963) | Cod sursa (job #1812981) | Cod sursa (job #1275279) | Cod sursa (job #1294627) | Cod sursa (job #732479)
Cod sursa(job #732479)
#include <fstream>
#include <algorithm>
using namespace std;
#define swap(a,b) ( a ^=b ^=a ^=b )
int A[500011],N;
int pozitionare(int st,int dr)
{
int xst,xdr;
xst=0;
xdr=-1;
while ( st<dr )
if (A[st]<A[dr])
{
st+=xst;
dr+=xdr;
}
else
{
swap(A[st],A[dr]);
xst=1-xst;
xdr=-1-xdr;
st+=xst;
dr+=xdr;
}
return st;
}
void quick(int st,int dr)
{
int p=pozitionare(st,dr);
if (st<p-1)
quick(st,p-1);
if (p+1<dr)
quick(p+1,dr);
}
int main()
{
ifstream F("algsort.in");
ofstream G("algsort.out");
F>>N;
for (int i=1;i<=N;++i)
F>>A[i];
sort(A,A+N+1);
for (int i=1;i<=N-1;++i)
G<<A[i]<<' ';
G<<A[N];
F.close();
G.close();
return 0;
}