Cod sursa(job #1742534)

Utilizator delia_ioanaCeapa Delia Ioana delia_ioana Data 16 august 2016 16:20:58
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <stdio.h>
#define NX 500010
 
int N, A[NX];
 
void quickSort(int left, int right) {
	int i = left, j = right, aux, pivot = A[(left + right) / 2];
 
	while (i <= j) {
		while (A[i] < pivot)
	                i ++;
		while (A[j] > pivot)
	                j --;
		if (i <= j) {
			aux = A[i];
			A[i] = A[j];
			A[j] = aux;
 			i ++;
		        j --;
	        }
	}
 
	if (left < j)
	        quickSort(left, j);
	if (i < right)
	        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]);
 
	return 0;
}