Pagini recente » Cod sursa (job #905436) | Cod sursa (job #1813793) | Borderou de evaluare (job #1662382) | Cod sursa (job #1967373) | Cod sursa (job #3001100)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500005];
void quicksort(int left, int right)
{
if(left>=right)
return;
int firstfree=left;
int mid=(left+right)/2;
swap(v[right], v[mid]);
for(int i=left; i<=right-1; i++)
if(v[i]<v[right])
{
swap(v[i], v[firstfree]);
firstfree++;
}
swap(v[right], v[firstfree]);
quicksort(left, firstfree-1);
quicksort(firstfree+1, right);
}
int main()
{
int n;
fin>>n;
for(int i=1; i<=n; i++)
fin>>v[i];
quicksort(1, n);
for(int i=1; i<=n; i++)
fout<<v[i]<<" ";
return 0;
}