Cod sursa(job #833410)

Utilizator marialivia16Chiorean Maria Livia marialivia16 Data 12 decembrie 2012 16:06:03
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include<cstdio>
#include<cstdlib>
void QuickSort(int *v,int st,int dr){
    int pivot,j,i;
    float temp;
     if(st<dr){
         pivot=st;
         i=st;
         j=dr;

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

         temp=v[pivot];
         v[pivot]=v[j];
         v[j]=temp;
         QuickSort(v,st,j-1);
         QuickSort(v,j+1,dr);

    }
}
int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    int i,n,*v;
    scanf("%d",&n);
    v=(int*)calloc(n,sizeof(int));
    for(i=1;i<=n;i++)
                     scanf("%d",&v[i]);
    QuickSort(v,1,n);
    for(i=1;i<=n;i++)
                     printf("%d ",v[i]);
    return 0;
}