Pagini recente » Cod sursa (job #10602) | Cod sursa (job #1011384) | Cod sursa (job #1393726)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,v[500010];
void citire()
{
fin>>n;
for(int a=1;a<=n;a++)
{
fin>>v[a];
}
}
void sort1(int min1,int max1)
{
int i=min1,j=max1;
int p;
int pivot=v[(min1+max1)/2];
while(i<=j)
{
while(v[i]<pivot and i<n)
{
i++;
}
while(v[j]>pivot)
{
j--;
}
if(i<=j)
{
p=v[i];
v[i]=v[j];
v[j]=p;
i++;
j--;
}
}
if(min1<j)
{
sort1(min1,j);
}
if(i<max1)
{
sort1(i,max1);
}
}
void afisare()
{
for(int a=1;a<=n;a++)
{
fout<<v[a]<<" ";
}
}
int main()
{
citire();
sort1(1,n);
afisare();
}