Cómo utilizar la función de clasificación en lenguaje C
Primero, puedes escribir tu propia función de clasificación.
La siguiente función se utiliza para ordenar una matriz de números enteros de pequeño a grande.
¿Nulo? sort(int?*a,?int?l) //a es la dirección de la matriz, l es la longitud de la matriz.
{
int? I,? j;
int? Cinco;
//Ordenar entidades
For (I?=?0;?I?lt?l?-?1;?I?)
For (j?=?I 1;?j?lt?l;?j?)
{
Si (a[I]? gt?a[j])/ /Si el delantero es más grande que el trasero cambiarlo.
{
v? =?a【Yo】;
¿A【Yo】? =?a【j】;
a【j】? =?五;
}
}}Para una función de clasificación personalizada de este tipo, se puede llamar de acuerdo con las especificaciones definidas.
En segundo lugar, el lenguaje C tiene su propia función qsort.
Función: Ordenar mediante el programa 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 El número de elementos a ordenar en la matriz
3 Cada El espacio ocupado por los elementos
4 Puntero a una función utilizada para determinar el orden de clasificación.
Esta función debe escribir su propia función de comparación, incluso si los elementos a ordenar son tipos básicos del lenguaje C como int, float, etc.
El siguiente es un ejemplo de qsort:
# include ltstdio.h gt
# include ltstdlib.h gt
int? comp(const?void*a,constant?void*b) //Función utilizada para la comparación.
{
¿Volver? *(int *)a-*(int *)b;
}
int? principal()
{
int? ¿Un【10】? =?{2, 4, 1, 5, 5, 3, 7, 4, 1, 5} //Matriz desordenada.
int? i;
qsort(a,n,sizeof(int),comp);//Llamar a clasificación qsort
for(I = 0;ilt10;i)//Ordenación de salida Matriz después
{
printf("d\t",array[I]);
}
¿Regresar? 0;
}
Datos extendidos:
Uso de la función de clasificación (llamando a la función de la biblioteca de clasificación C)
La matriz está ordenada, Hay funciones de biblioteca en c que nos ayudan a implementarlo, por lo que no necesitamos programarlo nosotros mismos.
(A) ¿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 de c.
¡Aprender este método también elimina el problema de la baja eficiencia de ejecución causada por la clasificación por burbujas y la clasificación selectiva que he estado usando desde que aprendí C! Debido a que el método de clasificación que utiliza es similar al método de clasificación rápida, la complejidad del tiempo es n * log2 (n) y la eficiencia de ejecución es muy alta.
(2) Cómo utilizar la función de clasificación en la biblioteca estándar de c
I) I) La función de clasificación está incluida en el archivo de encabezado #include
II) II) La función de clasificación tiene tres parámetros:
(1) El primero es la dirección inicial del array a ordenar.
(2) La segunda es la dirección final (la dirección al lado de la última dirección que se ordenará).
(3) El tercer parámetro es el método de clasificación, que puede ser de mayor a menor o de menor a mayor. El tercer parámetro se puede omitir. En este momento, el método de clasificación predeterminado es de menor a mayor.
La función de clasificación utiliza plantillas:
Ordenar (inicio, fin, método de clasificación)
Expliquemos cómo usar la función sort() junto con ¡Diez números para ordenar!
La función de clasificación de ejemplo no tiene un tercer parámetro y se implementa de pequeño a grande.
# incluir ltiostream gt
# incluir algoritmo lt gt
Usar espacio de nombres std
int main()
{
int a【10】= { 9, 6, 3, 8, 5, 2, 7, 4, 1, 0 };
for(int I = 0 ; i lt10; i )
cout lt lta【I】 lt; ltendl
sort(a, a 11);
for(int I = 0 ; I lt10; i)
cout lt lta【I】 lt; ltendl
Devuelve 0; /p>
GCC, un compilador gratuito de código abierto desarrollado por la organización GNU.
MinGW GCC bajo sistema operativo Windows
El compilador de código abierto del protocolo BSD Clang basado en LLVM.
¿Visual C? cl.exe, compilador de Microsoft VC.
Entorno de desarrollo integrado
Bloques de código, código abierto e IDE C/C gratuito.
CodeLite, un entorno de desarrollo integrado C/C multiplataforma y de código abierto.
Orwell Dev-C, un IDE C/C portátil.
Libre de carbono
Ver tabla
Serie Visual Studio
Hola mundo
Materiales de referencia: p>
Función de clasificación de la enciclopedia Baidu