Pagini recente » Cod sursa (job #2438526) | Cod sursa (job #1084648) | Cod sursa (job #2199249) | Cod sursa (job #2833154) | Cod sursa (job #2897656)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out")
int a[100000],n;
void citire()
{
f>>n;
for(int i=0;i<n;i++)
f>>a[i];
}
int poz(int st,int dr)
{
int piv,aux,k;
piv=a[st];
while(st<dr)
{
if(a[st]>a[dr])
{
aux=a[st];
a[st]=a[dr];
a[dr]=aux;
}
if(a[st]==piv)
dr--;
else
st++;
}
k=st;
return k;
}
void quicksort(int st,int dr)
{
int k;
if(st<dr)
{
k=poz(st,dr);
quicksort(st,k-1);
quicksort(k+1,dr);
}
}
void afisare()
{
for(int i=0;i<n;i++)
g<<a[i]<<" ";
}
int main()
{
citire();
quicksort(0,n-1);
afisare();
return 0;
}