Cod sursa(job #2083011)

Utilizator karenalo13Diaconu Iulian Andrei karenalo13 Data 6 decembrie 2017 23:02:42
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int A[500002],n,i;

int PartitionHoare( int p, int r)
{
    int x = A[p],
    i = p,
    j = r,
    temp;

    while(true) {
        while(A[j] > x)
            j--;
        while(A[i] < x)
            i++;
        if(i < j) {
            temp = A[i];
            A[i] = A[j];
            A[j] = temp;
            i++;
            j--;
        }
        else
            return j;
    }
}

void Hoare( int p, int r)
{
    if(p < r) {
        int q ;
        q= PartitionHoare( p, r);
        Hoare( p, q);
        Hoare( q + 1, r);
    }
}


int main()
{srand(time(0));
f>>n;
for(int i=1;i<=n;i++)
             {
             f>>A[i];
             }
Hoare(1,n);
for(i=1;i<=n;i++)
  g<<A[i]<<' ';

}// Burcea Bogdan , iti multumesc pt sfatul cu random :)