Cod sursa(job #1689458)
Utilizator | Ciurdariu Eduard PimpMyBiscuit | Data | 14 aprilie 2016 11:47:12 |
---|---|---|---|
Problema | Sortare | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <iostream>
using namespace std;
int n,v[100];
int poz(int v[100], int s, int d)
{
int x=v[s];
while(s<d)
{
while(s<d && x<=v[d])
d--;
v[s]=v[d];
while(s<d && x>=v[s])
s++;
v[d]=v[s];
}
v[s]=x;
return s;
}
void QuickSort(int v[100], int s, int d)
{
int p;
p=poz(v,s,d);
if(s<p-1)
QuickSort(v,s,p-1);
if(d>p+1)
QuickSort(v,p+1,d);
}
int main()
{
cin>>n;
int i;
for(i=1;i<=n;i++)
cin>>v[i];
QuickSort(v,1,n);
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
return 0;
}