Pagini recente » Cod sursa (job #233535) | Cod sursa (job #2853693) | Cod sursa (job #2983064) | Cod sursa (job #1774023) | Cod sursa (job #3041894)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("algsort.in");
ofstream g ("algsort.out");
int a[500005], n;
void quickSort (int st, int dr)
{
int mij = a[(st + dr) / 2];
int stS = st, drD = dr;
while (stS <= drD) {
while (a[stS] < mij) {
stS++;
}
while (a[drD] > mij) {
drD--;
}
if (stS <= drD) {
swap(a[stS], a[drD]);
stS++;
drD--;
}
}
if (st < drD) {
quickSort(st, drD);
}
if (stS < dr) {
quickSort(stS, dr);
}
}
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] << " ";
}
g.close();
return 0;
}