Cod sursa(job #1017364)

Utilizator ndan983NNN Dan ndan983 Data 27 octombrie 2013 18:27:40
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;

int n,i,v[500000];

void quick(int st,int dr)
{
  int a=st,b=dr,aux,mij=v[(st+dr)/2];
  do
  {
    while (v[a]<mij) a++;
    while (v[b]>mij) b--;
    if (a<=b)
    {
      aux=v[b]; v[b]=v[a]; v[a]=aux;
      a++; b--;
    }
  } while (b>a);

  if (st<b) quick(st,b);
  if (a<dr) quick(a,dr);
}

int main()
{
  ifstream in ("algsort.in"); 
  ofstream out("algsort.out"); 
  
  in>>n;
  for (i=0;i<n;i++) in>>v[i];
  quick(0,n-1);
  for (i=0;i<n;i++) out<<v[i]<<' ';
  in.close(); out.close();
  return 0;
}