Pagini recente » Cod sursa (job #362433) | Cod sursa (job #1742224) | Cod sursa (job #2345931) | Cod sursa (job #2094579) | Cod sursa (job #2531636)
#include <bits/stdc++.h>
using namespace std;
int n;
int a[500000];
ofstream g("algsort.out");
ifstream f("algsort.in");
void Read()
{
freopen("algsort.in","r",stdin);
f>>n;
for(int i = 0;i < n;++i)
f>>a[i];
}
int partition(int a[],int low,int high)
{
int pivot = a[high];
int i = low - 1;
for(int j = low;j < high;++j)
if(a[j] < pivot)
{
++i;
swap(a[i],a[j]);
}
swap(a[i + 1],a[high]);
return (i + 1);
}
void QuickSort(int a[],int low,int high)
{
if(low < high)
{
int pi = partition(a,low,high);
QuickSort(a,low,pi - 1);
QuickSort(a,pi + 1,high);
}
}
void Print()
{
for(int i = 0;i < n;++i)
g<<a[i]<<" ";
g.close();
}
int main()
{
Read();
QuickSort(a,0,n - 1);
Print();
return 0;
}