Cod sursa(job #2200355)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 1 mai 2018 08:27:39
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>
#define NMAX 101

using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int N,v[NMAX];
void Read()
{
    fin>>N;
    for(int i = 1; i <= N; i++)
        fin>>v[i];
}
void qSort(int left,int right)
{
    if(left >= right) return ;
        int pivot=v[(left+right)/2];
        int i= left , j = right;
        while(i <= j)
        {
            while(v[i] < pivot)
                i++;
            while(v[j] > pivot)
                j--;
            if(i <= j)
            {
                swap(v[i],v[j]);
                i++;
                j--;
            }
        }
        qSort(left,j);
        qSort(i,right);
}
void write()
{
    for(int i =1 ; i <= N; i ++)
        fout<<v[i]<<" ";
    fout<<'\n';
}
int main()
{
     Read();
     fin>>N;
     qSort(1,N);
     write();
    return 0;
}