Pagini recente » Cod sursa (job #2127826) | Cod sursa (job #1506905) | Cod sursa (job #983444) | Cod sursa (job #2770102) | Cod sursa (job #344653)
Cod sursa(job #344653)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int > v;
int n;
void read()
{
fstream f("algsort.in", ios::in);
f>>n;
v.resize(n+1);
for (int i=1; i<=n; ++i)
{
f>>v[i];
};
f.close();
}
inline void quick_sort(int left, int right)
{
int i=left, j=right;
int middle=v[(i+j)>>1];
do
{
while (v[i] < middle) ++i;
while (v[j] > middle) --j;
if (i<=j)
{
swap(v[i], v[j]);
++i;
--j;
}
} while (i<=j);
if (i < right)
quick_sort(i, right);
if (j > left)
quick_sort(left, j);
}
void solve()
{
read();
fstream g("algsort.out", ios::out);
quick_sort(1, n);
for (int i=1; i<=n; ++i)
g<<v[i]<<" ";
g.close();
}
int main()
{
solve();
return 0;
}