Cod sursa(job #373140)

Utilizator titusuTitus C titusu Data 12 decembrie 2009 19:28:31
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
/*
 * sortare cu quicksort. pentru a preveni cazurile ordonate, luam ca 
 * pivot un element aleator din intervalul st - dr.
 * */
#include <cstdio>
#include <algorithm>
using namespace std;

int a[500010],n;
int poz[500010];

void read(){
	scanf("%d",&n);
	for(int i=0;i<n;++i)
		scanf("%d",a+i), poz[i]=i;
}

void write(){
	for(int i=0;i<n;++i)
		printf("%d ", *(a+poz[i]));
}

bool MaiMic(int i,int j){
	return a[i]<a[j];
}

void sortare(){
	sort(poz,poz+n,MaiMic);
}

int main(){
	freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);
	read();
	sortare();
	write();
	return 0;
}