Cod sursa(job #881797)

Utilizator giminis96Pavel Stefan Cristian giminis96 Data 18 februarie 2013 17:10:45
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
using namespace std;
int v[500000],n;

int selectqs(int v[], int st, int dr){
	int i = st, j = dr, di = 0, dj = 1;
	while (i < j){
		if (v[i] > v[j]){
			int aux;
			aux = v[i];
			v[i]=v[j];
			v[j]=aux;
			di = !dj;
			dj = !di;
		}
		i = i+di;
		j = j-dj;

	}
	return i;
}

void quicksort(int v[], int start, int stop){
	if(start < stop){

		int b=selectqs(v,start,stop);
		quicksort(v,start,b-1);
		quicksort(v,b+1, stop);
	}
}

int main()
{
    int i;
    ifstream in("algsort.in");
    ofstream out("algsort.out");
    in>>n;
    for(i=0;i<n;i++)
        in>>v[i];
    quicksort(v,0,n-1);
    for(i=0;i<n;i++)
        out<<v[i]<<" ";
    return 0;
}