Cod sursa(job #1575997)

Utilizator luci2000lup lucia luci2000 Data 21 ianuarie 2016 23:29:53
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <fstream>
#include <iostream>

using namespace std;

ifstream fin("algrost.in");
ofstream fout("algsort.out");

#define nmax 500010
#ifdef INFOARENA
#define cout fout
#endif
		
int n;
int v[nmax];

void quicks(int v[], int st, int dr)
    {
        int i = st, j = dr;
        int aux;
        int mij = v[(st + dr) / 2];
        while (i <= j)
            {

                while (v[i] < mij)
                    i++;

                while (v[j] > mij)
                    j--;

                if (i <= j)
                    {
                        aux = v[i];
                        v[i] = v[j];
                        v[j] = aux;
                        i++;
                        j--;
                    }

            }

        if (st < j)
            quicks(v, st, j);
        if (i < dr)
            quicks(v, i, dr);
    }


int main()
{
	int i;
	fin>>n;
	for(i=1;i<=n;++i) fin>>v[i];
	quicks(v,1,n);
	for(i=1;i<=n;++i) cout<<v[i]<<' ';
	
}