Pagini recente » Cod sursa (job #1958007) | Cod sursa (job #1031986) | Cod sursa (job #2679770) | Cod sursa (job #932397) | Cod sursa (job #3252609)
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int32_t n, i, x;
vector<int32_t> v;
int32_t Hoare(int32_t st, int32_t dr)
{
swap(v[(st+dr)/2], v[st]);
x = 0;
while(st < dr)
{
if(v[st] > v[dr])
{
swap(v[st], v[dr]);
x = 1-x;
}
st += x;
dr -= 1-x;
}
return st;
}
void Sort(int32_t st, int32_t dr)
{
if(st < dr)
{
x = Hoare(st, dr);
Sort(st, x-1);
Sort(x+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 >> x;
v.push_back(x);
}
Sort(0, n-1);
for(auto f : v) fout << f << ' ';
}