perdon si los confundi.
muchas gracias desde ya!!!
[MOD] Al publicar código, usar las etiquetas GeSHi
Código
#include <stdio.h> void qshort(int*array,int*izquierda,int*derecha,int(*intercambio)(int,int),int(*comp)(int,int)); void intercambio(int a[],int izquierda,int derecha); int comp(int a,int b); int main() { int array[]={6,1,9,8,2,7,4,0,3,5}; int izquierda,derecha,i; izquierda=0; derecha=9; for(i=0;i<10;i++) { printf("array[%d] = %d\n",i,array[i]); } qshort(array,&izquierda,&derecha,intercambio,comp); printf("\n\n"); for(i=0;i<10;i++) { printf("array[%d] = %d\n",i,array[i]); } return 0; } void intercambio(int a[],int derecha,int izquierda) { int temp; temp=a[izquierda]; a[izquierda]=a[derecha]; a[derecha]=temp; } void qshort(int array[],int*izquierda,int*derecha,int(*intercambio)(int,int),int(*comp)(int,int)) { int pivote,i; pivote=*izquierda+*derecha/2; while(*izquierda<*derecha) { while(comp(array[*izquierda],array[pivote])) { *izquierda+=1; } while(comp(array[pivote],array[*derecha])) { printf(".\n"); *derecha-=1; } intercambio(array,*izquierda,*derecha); for(i=0;i<10;i++) { printf("array[%d] = %d\n",i,array[i]); } system("pause"); } } int comp(int a,int b) { if(a<b) { return 1; } else if(a>b) { return 0; } }