Cod sursa(job #1314021)

Utilizator alinmocanu95FMI Alin Mocanu alinmocanu95 Data 11 ianuarie 2015 14:12:28
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<time.h>
using namespace std;
int a[500000];
int n,i,j;

void poz (int li,int ls)
{
     i=li,j=ls;
     int p=a[i+rand()%(j-i+1)];
     while (i<j)
     {
         while(i<=ls&&a[i]<p) i++;
        while(j>=li&&a[j]>p) j--;
         if (i<=j)
         {
             if(a[i]!=a[j]) swap(a[i],a[j]);
             i++;j--;
         }

     }
}

void quick (int li,int ls)
{
    if(li<ls)
    {
        poz(li,ls);
        if(li<j) quick(li,j);
        if(i<ls) quick(i,ls);
}
}
int main()
{int i;
    ifstream f("algsort.in");
    ofstream g("algsort.out");
f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
        srand(time(NULL));
    quick(1,n);
        for(i=1;i<=n;i++) g<<a[i]<<" ";
        f.close();
        g.close();
        return 0;
}