Está en la página 1de 1

QuickSort

Enrique Galindo Crdenas

void QuickSort(int n,int a[]){ reduceRecursivo(0,n-1,a);}

void reduceRecursivo(int inicio,int fin,int a[]){ int izq,der,pos,aux,band; izq=inicio; der=fin; pos=inicio; band=1; while(band==1){ band=0; while(a[pos]<=a[der]&&pos!=der){ der=der-1;} if(pos!=der){ aux=a[pos]; a[pos]=a[der]; a[der]=aux; pos=der; while(a[pos]>=a[izq]&&pos!=izq){ izq=izq+1;} if(pos!=izq){ band=1; aux=a[pos]; a[pos]=a[izq]; a[izq]=aux; pos=izq;} } } if((pos-1)>inicio){ reduceRecursivo(inicio,(pos-1),a);} if(fin>(pos+1)){ reduceRecursivo((pos+1),fin,a);} }

También podría gustarte