Cod sursa(job #2673092)

Utilizator GaByxDTodor Marian Gabriel GaByxD Data 15 noiembrie 2020 19:08:54
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f ("algsort.in");
ofstream g("algsort.out");
int v[10000],n,i,j;
void QS(int x,int y)
{
    if(x<y)
    {
    if(v[x]>v[(y+x)/2])
        swap(v[x],v[(y+x)/2]);
    if(v[x]>v[y])
        swap(v[x],v[y]);
    if(v[(y+x)/2]>v[y])
        swap(v[(y+x)/2],v[y]);

        i=x;
        swap(v[(y+x)/2],v[y]);
        for(j=x;j<=y-1;j++)
            if(v[j]<v[y])
                {
                    swap(v[i],v[j]);
                    i++;
                }
        swap(v[y],v[i]);
    QS(x,i-1);
    QS(i+1,y);
    }
}
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    QS(1,n);
    for(i=1;i<=n;i++)
        g<<v[i]<<" ";
}