Pagini recente » Cod sursa (job #2867199) | Cod sursa (job #3243729) | Cod sursa (job #959615) | Cod sursa (job #146782) | Cod sursa (job #3252612)
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
#define MAX 500000
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int32_t n, i, j, x, a[MAX];
void Sort(int32_t st, int32_t dr)
{
if(st < dr)
{
i = st; j = dr; x = 0;
swap(a[(i+j)/2], a[i]);
while(i < j)
{
if(a[i] > a[j])
{
swap(a[i], a[j]);
x = 1-x;
}
i += x;
j -= 1-x;
}
Sort(st, i-1);
Sort(i+1, dr);
}
}
int main()
{
ios_base::sync_with_stdio(false);
fin.tie(nullptr);
fout.tie(nullptr);
fin >> n;
for(i=0; i < n; i++) fin >> a[i];
Sort(0, n-1);
for(i=0; i < n; i++) fout << a[i] << ' ';
}