Cod sursa(job #1937609)

Utilizator dorin31Geman Dorin Andrei dorin31 Data 24 martie 2017 01:46:44
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>

#define maxN 500005

using namespace std;

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

int n,v[maxN];

inline void swap(int &a, int &b)
{
    int temp;
    temp=a; a=b; b=temp;
}

inline void quickSort(int v[], int n, int l, int r)
{
    if (l>=r) return;

    int i=l, j=r, pivot=v[(i+j)/2];
    while (i<j)
    {
        while (v[i]<pivot) ++i;
        while (v[j]>pivot) --j;
        if (i<j)
        {
            swap(v[i],v[j]);
            ++i;
            --j;
        }
    }

    quickSort(v,n,l,i-1);
    quickSort(v,n,i+1,r);
}


int main()
{
    fin>>n;
    for (int i=1; i<=n; ++i)
        fin>>v[i];
    quickSort(v,n,1,n);
    for (int i=1; i<=n; ++i)
        fout<<v[i]<<' ';
    return 0;
}