Pagini recente » Cod sursa (job #1831182) | Cod sursa (job #769138) | Cod sursa (job #767277) | Cod sursa (job #1772734) | Cod sursa (job #590748)
Cod sursa(job #590748)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void quick(int,int);
int divide(int,int);
int a[100];
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 quick(int p, int q)
{
int m;
m=divide(p,q);
if(m-1>p) quick(p,m-1);
if(m+1<q) quick(m+1,q);
}
int main()
{
int i,n;
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
quick(1,n);
for(i=1;i<=n;i++)
fout<<a[i]<<" ";
return 0;
}