Cod sursa(job #1804704)

Utilizator BogdanIonesqBogdan Ionescu BogdanIonesq Data 12 noiembrie 2016 21:37:35
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <fstream>

using namespace std;

ifstream in("quick.in");
ofstream out("quick.out");

int v[500000], n, pivot;

void poz (int li, int ls, int &pivot, int v[100])
{
     int i=li, j=ls, aux, i1=0, j1=-1;

     while (i < j)
     {
          if (v[i] > v[j])
          {
               swap(v[j], v[i]);

               aux=i1;
               i1= - j1;
               j1= -aux;
          }

          i= i + i1;
          j= j + j1;
     }

     pivot=i;
}

void quicksort(int li, int ls)
{
     if (li<ls)
     {
          poz(li, ls, pivot, v);
          quicksort(li, pivot-1);
          quicksort(pivot+1, ls);
     }
}

int main()
{
     int i;
     in >> n;
     for (i=1; i <=n; i++)
     {
          in >> v[i];
     }

     quicksort(1, n);

     for (i=1; i <=n; i++)
     {
          out << v[i] << ' ';
     }

     return 0;
}