Pagini recente » Cod sursa (job #2531758) | Cod sursa (job #241968) | Cod sursa (job #2171266) | Cod sursa (job #749476) | Cod sursa (job #1041954)
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#define NMAX 500001
using namespace std;
int N, i;
int Nums[NMAX];
inline void QuickSort(int Left, int Right) {
if(Left >= Right) return;
int iLeft, iRight, pivotVal = Nums[(Left+Right)/2];
iLeft = Left, iRight = Right;
while(iLeft <= iRight) {
while(Nums[iLeft] < pivotVal) ++iLeft;
while(Nums[iRight] > pivotVal) --iRight;
if(iLeft <= iRight)
swap(Nums[iLeft++], Nums[iRight--]);
}
QuickSort(Left, iRight);
QuickSort(iLeft, Right);
}
int main() {
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
scanf("%d", &N);
for(i = 1; i <= N; ++i)
scanf("%d", &Nums[i]);
QuickSort(1, N);
for(i = 1; i <= N; ++i)
printf("%d ", Nums[i]);
return 0;
}