Pagini recente » Cod sursa (job #712665) | Cod sursa (job #1596493) | Cod sursa (job #2060409) | Cod sursa (job #1507460) | Cod sursa (job #1009248)
#include<fstream>
using namespace std;
int v[500001];
// QuickSort
int pivot(int i,int j)
{
int x,k;
x=v[i];
k=i;
while(i<=j)
{
while(i<=j && v[i]<=x)++i;
while(i<=j && v[j]>=x)--j;
if(i<j)v[i]=(v[i]+v[j])-(v[j]=v[i]);
}
v[k]=v[j];
v[j]=x;
return j;
}
void QuickSort(int i,int j)
{
if(i<j)
{
int p=pivot(i,j);
QuickSort(i,p-1);
QuickSort(p+1,j);
}
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
int i;
f>>v[0];
for(i=1;i<=v[0];++i)
f>>v[i];
QuickSort(1,v[0]);
for(i=1;i<=v[0];g<<v[i]<<" ",++i);
f.close();
g.close();
return 0;
}