Cod sursa(job #645396)

Utilizator Anna_cristinaButucea Ana Cristina Anna_cristina Data 9 decembrie 2011 15:37:35
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<fstream>

using namespace std;
int s[100],N;

int part(int i,int j)
{int pivot=s[(i+j)/2];
 int a=i,b=j,aux;
 while(a<=b)
  {while(s[a]<pivot && a<j)   a++;
   while(pivot<s[b] && b>i)   b--;
   if(a<=b)
     {aux=s[a];
      s[a]=s[b];
      s[b]=aux;
      a++;
      b--;
      }
   }
 return a;
}

void quicks(int i,int j)
{if(i>=j)  return;
 int p=part(i,j);
 if(i<p-1)  quicks(i,p-1);
 if(p<j)    quicks(p,j);
 }

int main()
{ifstream f("algsort.in");
 f>>N;
 for(int i=1;i<=N;i++)
   f>>s[i];
 f.close();  
 quicks(1,N);
 ofstream g("algsort.out");
 for(int i=1;i<=N;i++)
   g<<s[i]<<" ";
 g.close();  
 return 0;
 }