Cod sursa(job #2611459)

Utilizator florescu.mirunaMiruna Stefania Florescu florescu.miruna Data 6 mai 2020 22:10:30
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include<fstream>

using namespace std;
ifstream f ("algsort.in");
ofstream g ("algsort.out");
int functie(int v[],int st,int dr)
{


    int pivot = v[rand()% (dr-st+1) + st];
    int i = st-1;
    for(int j=st; j<=dr; j++)
    {
        if(v[j]<pivot)
        {
            i++;
            swap(v[i],v[j]);
        }

    }
    swap(v[i+1],v[dr]);
    int  poz = i+1;
    return poz;
}
void QuickSort(int v[],int st,int dr)
{
    int poz;


    if(st<dr)
    {

        poz=functie(v,st,dr);
        QuickSort(v,st,poz-1);
        QuickSort(v,poz+1,dr);
    }
}
int n;
int main()
{
    f>>n;
    int v[n];
    for(int i=0;i<n;i++)
        f>>v[i];

    QuickSort(v,0,n-1);
    for(int i=0;i<n;i++)
        g<<v[i]<<" ";

    return 0;
}