Cod sursa(job #1526861)

Utilizator NitaMihaitavoidcube NitaMihaita Data 17 noiembrie 2015 15:39:17
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
#include<ctime>
#include<cstdlib>
using namespace std;
int v[500000];
void qqq(int i,int j)
{
    int c_i=i,c_j=j,x=v[(i+j)>>1];
    while(i<=j)
    {
        while(v[i]<x)++i;
        while(v[j]>x)--j;
        if(i<=j)v[j]=(v[i]+v[j])-(v[i]=v[j]),++i,--j;
    }
    if(c_i<j)qqq(c_i,j);
    if(i<c_j)qqq(i,c_j);
}
int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    int i,n;
    f>>n;
    for(i=0;i<n;++i)f>>v[i];
    qqq(0,n-1);
    for(i=0;i<n;++i)g<<v[i]<<" ";
    f.close();
    g.close();
    return 0;
}