Codigo

#include<stdio.h>
#include<conio.h>
#define MAX 12


void quicksort(int[],int,int);


void main()
{
 int i,vector[MAX]={5,7,10,4,21,8,11,9,1,6,70,14};
 clrscr();
 printf("Antes de Quicksort: ");
 for(i=0;i<MAX;i++)
  printf(" %d ",vector[i]);
 printf("\n\n");
 quicksort(vector,0,(MAX-1));
 printf("Despues de Quicksort: ");
 for(i=0;i<MAX;i++)
  printf(" %d ",vector[i]);
 getch();
}


void quicksort(int vec[], int inf, int sup)
{
 int i=inf;
 int j=sup;
 int y=0;
 int pivote=vec[(inf+sup)/2];
 do
 {
while(vec[i]<pivote)
i++;
while(vec[j]>pivote)
j--;
if(i <= j)
{
y=vec[i];
vec[i]=vec[j];
vec[j]=y;
i++;
j--;
}
 } while(i<=j);
 if(inf<j)
  quicksort(vec,inf,j);
 if(i<sup)
  quicksort(vec,i,sup);
}