Pagini recente » Cod sursa (job #3236620) | Cod sursa (job #2392658) | Cod sursa (job #2914617) | Cod sursa (job #2178080) | Cod sursa (job #3041902)
#include <fstream>
#include <algorithm>
using namespace std;
int n, a[500005];
ifstream f("algsort.in");
ofstream g("algsort.out");
void quickSort (int st, int dr)
{
int mij = a[(st + dr) / 2];
int stNew = st, drNew = dr;
while (stNew <= drNew) {
while (a[stNew] < mij) {
stNew++;
}
while (a[drNew] > mij) {
drNew--;
}
if (stNew <= drNew) {
swap (a[stNew], a[drNew]);
stNew++;
drNew--;
}
}
if (stNew < dr) {
quickSort (stNew, dr);
}
if (st < drNew) {
quickSort (st, drNew);
}
}
int main()
{
f >> n;
for (int i = 1; i <= n; ++i) {
f >> a[i];
}
quickSort(1, n);
for (int i = 1; i <= n; ++i) {
g << a[i] << ' ';
}
return 0;
}