Cod sursa(job #2897658)

Utilizator BetJohn000Ioan Benescu BetJohn000 Data 4 mai 2022 14:34:07
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int a[100000],n;
void citire()
{
    f>>n;
    for(int i=0;i<n;i++)
        f>>a[i];
}
int poz(int st,int dr)
{
    int piv,aux,k;
    piv=a[st];
    while(st<dr)
    {
        if(a[st]>a[dr])
        {
            aux=a[st];
            a[st]=a[dr];
            a[dr]=aux;
        }
        if(a[st]==piv)
            dr--;
        else
            st++;
    }
    k=st;
    return k;
}
void quicksort(int st,int dr)
{
    int k;
    if(st<dr)
    {
        k=poz(st,dr);
        quicksort(st,k-1);
        quicksort(k+1,dr);
    }
}
void afisare()
{
    for(int i=0;i<n;i++)
        g<<a[i]<<" ";
}
int main()
{
    citire();
    quicksort(0,n-1);
    afisare();
    return 0;
}