Pagini recente » Cod sursa (job #2264745) | Statistici Minea Theodor Stefan (MineaNuMihneaTheodor) | Cod sursa (job #1568629) | Cod sursa (job #2206918) | Cod sursa (job #1610940)
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[500001],n;
int Divide(int p,int q)
{
int st=p,dr=q,x=a[p];
while(st<dr)
{
while(st<dr && a[dr]>=x)
dr--;
a[st]=a[dr];
while(st<dr && a[st]<=x)
st++;
a[dr]=a[st];
}
a[st]=x;
return st;
}
void Qsort(int p,int q)
{
int m=Divide(p,q);
if(m-1>p)
Qsort(p,m-1);
if(m+1<q)
Qsort(m+1,q);
}
int main()
{
f>>n;
for(int i=1;i<=n;i++)
{
f>>a[i];
}
Qsort(1,n);
for(int i=1;i<=n;i++)
g<<a[i]<<" ";
}