Cod sursa(job #645363)

Utilizator Anna_cristinaButucea Ana Cristina Anna_cristina Data 9 decembrie 2011 14:19:54
Problema Sortare Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>

int s[100];

int part(int i,int j)
{int md=(i+j)/2;
 int a=i,b=j,aux;
 while(a<=b)
  {while(s[a]<s[md])   a++;
   while(s[md]<s[b])   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()
{int n;
 cin>>n;
 for(int i=1;i<=n;i++)
   cin>>s[i];
 quicks(1,n);
 for(int i=1;i<=n;i++)
   cout<<s[i]<<" ";
 getch();
 return 0;
 }