Algoritmo C++ para algoritmo de clasificación
La forma general del algoritmo de clasificación autónomo es:
sort(arr+m, arr+n); // Ordena los elementos de la matriz arr subíndice m según el subíndice n-1 Los elementos se ordenan de pequeño a grande.
sort(arr+m, arr+n, comp); // En comparación con sort(arr+m, arr+n), esta forma de escribir le permite definir sus propias reglas de clasificación, donde comp es una función personalizada.
Para sort(arr+m, arr+n), demos un ejemplo sencillo. Este programa implementa la función de leer el número 10 desde el teclado y generarlo de pequeño a grande: # include
Pero antes de llamar a sort(arr+m, arr+n, comp), necesitamos escribir uno nosotros mismos función comp.
La función comp ordenada de mayor a menor se puede escribir como: intcomp (inta, intb) { retuna > b; //debe devolver 0 o false} cuando los dos elementos son iguales} aquí es 10 Los códigos están ordenados en orden descendente: # include
Por ejemplo, queremos ordenar las calificaciones de los estudiantes de mayor a menor. Cuando las calificaciones son iguales, se ordenan según la regla de prioridad del. pequeño pedido en el diccionario de nombres. Obviamente, no podemos utilizar las reglas predeterminadas para ordenar.
En este momento podemos definir tal comp: int comp (studenta, Studentb){ if (a . Score >; b . Score) return 1 if (a. Score & ltb . Score) return; 0 ;si(a . nombre & lt; b . nombre)return 1;