#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);
}