Pagini recente » Cod sursa (job #1351110) | Cod sursa (job #666617) | Cod sursa (job #3278903) | Cod sursa (job #3001976) | Cod sursa (job #2490822)
#include <stdio.h>
#include <stdlib.h>
int a[500005], N;
void quickSort(int left, int right) {
int mid = (left + right) / 2, x = a[mid], aux, i = left, j = right;
if (left >= right)
return;
do {
while ((i <= j) && (a[i] < x))
i++;
while ((j >= i) && (a[j] > x))
j--;
if (i <= j) {
aux = a[i];
a[i] = a[j];
a[j] = aux;
i += 1;
j -= 1;
}
} while (i <= j);
quickSort(left, j);
quickSort(i, right);
}
int main() {
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
scanf("%d", &N);
for(int i = 0; i < N; i++)
scanf("%d", &a[i]);
quickSort(0, N - 1);
for (int i = 0; i < N; i++)
printf("%d ", a[i]);
}