Cod sursa(job #1220434)

Utilizator ptquake10ptquake10 ptquake10 Data 17 august 2014 13:14:44
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <cstdio>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <cmath>
#include <fstream>
using namespace std;
#define inf 0xfffffff
#define MOD 1999999973

int n, a[500005];

void qs(int l, int r) {
	int i = l, j = r, p = a[(l+r)/2];
	while (i <= j) {
		while (a[i] < p) i++;
		while (a[j] > p) j--;
		if (i <= j) {
			swap(a[i], a[j]);
			i++;
			j--;
		}
	}
	if (i < r) qs(i, r);
	if (j > l) qs(l, j);
}

int main() {
	
	freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);

	scanf("%d", &n);
	for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
	qs(1, n);
	for (int i = 1; i <= n; i++) printf("%d ", a[i]);	
	
	return 0;
}