Cómo utilizar la función de clasificación en lenguaje C
No existe una función de clasificación preestablecida en lenguaje C. Si en lenguaje C se llama a la función de clasificación, es una función personalizada, que generalmente se usa para ordenar.
1. Puedes escribir tu propia función de clasificación.
La siguiente función ordena una matriz de números enteros de pequeño a grande.
void?sort(int?*a,?int?l)//a es la dirección de la matriz y l es la longitud de la matriz.
{
int?i,?j;
int?v;
//Clasificar asunto
for(i?=?0;?i?
for(j?=?i+1;?j?
{
if(a[i]?>?a[j])//Si el primero es más grande que el segundo, intercambie.
{
v?=?a[i];
a[i]?=?a[j];
a[j]?=?v;
}}}
Para una función de clasificación personalizada de este tipo, se puede llamar de acuerdo con las especificaciones definidas.
2. El lenguaje C tiene su propia función qsort.
Función: Ordenar usando una rutina de clasificación rápida
Archivo de encabezado: stdlib.h
Prototipo: void qsort(void *base,int nelem,int width ,int (*fcmp)(const void *,const void *));
Parámetros:
1 La primera dirección de la matriz a ordenar
2 La matriz a ordenar Número de elementos de clasificación
3 Tamaño del espacio ocupado por cada elemento
4 Puntero a la función, utilizado para determinar el orden de clasificación
Este La función debe escribirse por sí misma para la función de comparación, incluso si los elementos a ordenar son tipos básicos del lenguaje C, como int y float.
El siguiente es un ejemplo de qsort: ?
#include
#include
int?comp(const?void*a,const?void*b)//Función utilizada para comparar.
{
retorno?*(int*)a-*(int*)b;
}
int?main( )
{
int?a[10]?=?{2,4,1,5,5,3,7,4,1,5};//Caos matriz ordenada.
int?i;
qsort(a,n,sizeof(int),comp);//Llama a qsort para ordenar
for(i=0 ; i<10;i++)// Genera la matriz ordenada
{
printf("%d\t",array[i]);
}
return?0;}
Información ampliada:
Uso de la función de clasificación (llamada a la función de biblioteca de clasificación de C++)
Sí Hay funciones de biblioteca en C++ que nos ayudan a implementar la clasificación de matrices, por lo que no necesitamos programarnos para ordenar.
(1) ¿Por qué utilizar la función de clasificación en la biblioteca estándar de C++?
La función Sort() es uno de los métodos de clasificación en C++. Aprender este método también me desalienta de aprender C++. ¡El problema de la baja eficiencia de ejecución causada por la clasificación de burbujas y la clasificación de selección utilizadas en el pasado! Debido a que el método de clasificación que utiliza es similar a la clasificación rápida, la complejidad del tiempo es n * log2 (n) y la eficiencia de ejecución es alta.
(2) Cómo utilizar la función de clasificación en la biblioteca estándar de C++
I) La función de clasificación se incluye en la biblioteca estándar de C++ con el archivo de encabezado #include
II) La función Ordenar tiene tres parámetros:
(1) El primero es la dirección inicial del array a ordenar.
(2) El segundo parámetro es la dirección final (la siguiente dirección de la última dirección que se ordenará)
(3) El tercer parámetro es el método de clasificación, que puede ser Puede ser de grande a pequeño o de pequeño a grande. No es necesario escribir el tercer parámetro. En este momento, el método de clasificación predeterminado es ordenar de pequeño a grande.
La función de clasificación utiliza una plantilla:
Ordenar (inicio, fin, método de clasificación)
A continuación se utilizará específicamente la función sort() para combinar los diez elementos. en la matriz ¡Haz una explicación de cómo ordenar los números!
Ejemplo 1: la función de clasificación no tiene un tercer parámetro y se implementa de pequeño a grande
#include
#include p> usando el espacio de nombres std; int main() { int a[10]={9,6 ,3,8, 5,2,7,4,1,0}; for(int i=0;i<10;i++)