¡Urgente! ! ! Escriba una función qsort en lenguaje C. El requisito es ordenar una matriz de dos dígitos por el último elemento de cada elemento, de pequeño a grande.
Primero mira los resultados de ejecución del programa para ver si es lo que necesitas.
El código es el siguiente. Si tiene alguna pregunta, pregunte #include?
#include?
int?printArray(int?array[][2],?int?dim1,?int?dim2?);
int? swap(int?* a,?int?*b);
int?qsort(int?array[][2]);
int?main()
{ int?array[6][2]?=?{4,?9,?2,?6,?4,?5,?1,?2,?1,?7,?2, ?4}; printf ("Antes de ordenar:\n"); printArray(array,?6,?2); qsort(array("Después de ordenar:\n"); 2); devolver? 0;
}
int?qsort(int?array[][2])
{ int?i?=?0 ; int?j? =?0; para(?i?=?0;?i?6;?i++) { para(j?=?i+1;?j?6;?j++) {
if(*(*(matriz+i)+1)?>?*(*(matriz+j)+1))
{
intercambiar(&*( *(matriz+i)+0),?&*(*(matriz+j)+0));
intercambiar(&*(*(matriz+i)+1 ),?&* (*(array+j)+1));
} } } return?0;
}
int?swap( int?*a, ?int?*b)
{ *a?=?(*a)?+?(*b); *b?=?(*a)?-?(* b); *a ?=?(*a)?-?(*b); retorno?0;
}
int?printArray(int?array[][2] ],?int?dim1,?int?dim2?)
{ int?i?=?0; int?j?=?0; ?dim1;?i++ ) { for(j?=?0;?j?
printf("%d?",?*(*(matriz+i) +j)); } printf("\n"); } retorno?0;
}