Cod sursa(job #1016797)

Utilizator uagamagaMatei Rogoz uagamaga Data 26 octombrie 2013 19:26:50
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;

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

void quickSort(int a[], int left, int right)
{
    int i = left, j = right,aux;
    int pivot = a[(left + right) / 2];

    while (i <= j) {
        while (a[i] < pivot)
              i++;
        while (a[j] > pivot)
              j--;
        if (i <= j) {
              aux = a[i];
              a[i] = a[j];
              a[j] = aux;
              i++;
              j--;
        }
    }

    if (left < j)
        quickSort(a, left, j);
    if (i < right)
        quickSort(a, i, right);
}

int main()
{
    int * v = new int[500001];
    int n,i;
    fin>>n;
    for(i=0;i<n;i++)
        fin>>v[i];

    quickSort(v,0,n-1);

    for(i=0;i<n;i++)
        fout<<v[i]<<" ";

    return 0;
}