Pagini recente » Cod sursa (job #952526) | Cod sursa (job #2627553) | Cod sursa (job #500600) | Cod sursa (job #3232054) | Cod sursa (job #2427309)
#include <bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int prt(int A[], int low, int high)
{
int vr,pivot,i,j;
pivot=A[low];
i=low;
j=high;
while(i<j)
{
do
{
i++;
}while(A[i]<pivot);
do
{
j--;
}while(A[j]>pivot);
if(i<j)
{
vr=A[i];
A[i]=A[j];
A[j]=vr;
}
}
vr=A[low];
A[low]=A[j];
A[j]=vr;
return j;
}
void qsort(int A[], int low, int high)
{
int j;
if(low<high)
{
j=prt(A,low,high);
qsort(A,low,j);
qsort(A,j+1,high);
}
}
int main()
{
int A[500005],i,n;
f>>n;
for(i=1;i<=n;i++)
{
f>>A[i];
}
qsort(A,1,i);
for(i=1;i<=n;i++)
{
g<<A[i]<<" ";
}
f.close(); g.close();
return 0;
}