Cod sursa(job #1348547)

Utilizator jordasIordache Andrei Alexandru jordas Data 19 februarie 2015 19:11:35
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

 ifstream x ("algsort.in");
 ofstream y ("algsort.out");

 int i,n,v[500005];

 void read()
   {x>>n;
       while(x>>v[++i]);
    n=i;
   }

 void quicksort(int v[], int left, int right)
   {int i=left,j=right;
    int aux;
    int pivot=v[(left+right)/2];


    while(i<=j)
      {while(v[i]<pivot)
         i++;
       while(v[j]>pivot)
         j--;
       if(i<=j)
         {aux=v[i];
          v[i]=v[j];
          v[j]=aux;
          i++;
          j--;
         }
      }

    if(left<j)
      quicksort(v,left,j);
    if(right>i)
      quicksort(v,i,right);
   }

 void write()
   {for(i=2;i<=n;i++)
      y<<v[i]<<' ';
   }

int main()
{read();
 quicksort(v,1,n);
 write();
}