#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
int quicksort(int num[], int inf, int sup, int n)
{
int izq, k, der,med,x;
izq=inf;
der=sup;
med=num[(izq+der)/2];
do
{
while (num[izq] < med && izq < sup )
izq++;
while (med < num[der] && der > inf )
der--;
if (izq <= der)
{
x = num[izq];
num[izq]=num[der];
num[der]=x;
izq++;
der--;
}
}while(izq<=der);
for(k=0;k<n;k++)
printf("%i ",num[k]);
printf("\n\n");
if (inf < der)
quicksort(num,inf,der,n);
if (izq < sup)
quicksort(num,izq,sup,n);
}
main ()
{
int n,i,*num,inf,sup;
printf("\n\n Cuantos elementos habra en el arreglo: ");
scanf("%d",&n);
num=(int *)malloc(sizeof(int)*n);
//Llenar arreglo
system("cls");
for(i=0;i<n;i++)
{
printf("\n\n Dame el elemento #%d del arreglo: ",i);
scanf("%d",&num[i]);
}
inf=0;
sup=n;
quicksort(num,inf,sup,n);
//IMPRIMIR ARREGLO ORDENADO
printf("\n\n\n *** ARREGLO ORDENADO ***\n\n\n");
for(i=0;i<n;i++)
{
printf(" %d \n",num[i]);
}
}
No hay comentarios:
Publicar un comentario