C ++ funciones de la librería estándar de la función de clasificación para clasificar

La clasificación y la búsqueda se puede decir es el problema más clásica del campo de la informática,
y los archivos de cabecera de la biblioteca C ++ estándar ** algoritmo ** se ha construido sobre la base de la función de clasificación rápida tipo, simplemente llamando a esta función, puede completar fácilmente el estilo.

son funciones de clasificación se describe brevemente a continuación: especie (nombre, apellido, comp) función toma tres parámetros:

La dirección de comienzo para ser ordenada secuencia: 1. primera
dirección final sea la secuencia ordenada (dirección de inicio del último elemento): 2. Última
3. comp: pedidos, no puede ser llenado, mientras orden ascendente por defecto no llena

Ejemplo 1: ordenación ascendente predeterminada

#include <iostream> 
#include <algoritmo> utilizando espacio de nombres std; int main () 
{ int arr [ 5 ] = { 3 , 6 , 1 , 4 , 7 }; 
    cout << " 排序前: " ;
    para ( int i = 0 ; i < 5 ; i ++ ) { 
        cout << arr [i] << ' ' ; 
    } 
    Cout << endl; 
    sort (arr, arr

 


     + 5 );                 // Ordenar: default ascendente 
    COUT << " Ordenada: " ;
     para ( int I = 0 ; I < 5 ; I ++ ) { 
        COUT << ARR [I] << '  ' ; 
    } 
    vuelvo  0 ; 
}

 

Salida: 
: antes de la clasificación . 3  . 6  . 1  . 4  . 7 
ordenadas: . 1  3.  4.  6.  7.

 

Ejemplo 2: en orden descendente, usted ha escrito un Clasificar

#include <iostream> 
#include <algoritmo> utilizando espacio de nombres std; bool Compare ( int x, int y)                 // 降序排序{
     retorno x> y; 
} Int main () 
{ int arr [ 5 ] = { 3 , 6 , 1 , 4 , 7 }; 
    cout << " 排序前: " ;
    para ( int i = 0 ; i < 5

 





    ; I ++ ) { 
        COUT << ARR [I] << '  ' ; 
    } 
    COUT << endl; 
    Sort (ARR, ARR + 5. ;, La comparación)         // usando un tipo descendente: Ordenar 
    tribunal << " ordenados: " ;
     para ( int I = 0 ; I < . 5 ; I ++ ) { 
        COUT << ARR [I] << '  ' ; 
    } 
    volver  0 ; 
}

 

Salida: 
: antes de la clasificación . 3  . 6  . 1  . 4  . 7 
ordenadas: . 7  6.  4.  3.  1.

 

Ejemplo 3: Ordenar por su propia definición, se puede lograr muchas escenas clase de
ejemplo: tipo de rendimiento de los estudiantes, ordenados por mayor a menor, y la impresión de la información del estudiante. Información, incluyendo estudiantes de la escuela, grados, si el logro del estudiante son los mismos, de acuerdo con el tamaño del número de estudiante en orden ascendente.

# include <iostream la> 
#include <algoritmo> el uso de espacio de nombres de enfermedades de transmisión sexual; struct Estudiante {
     int Número;             // ID del estudiante int Score;              // score }; const int MAXN = 100 ; 
Estudiante ARR [MAXN]; BOOL la comparación (Student X, Y Estudiante) {
     SI (x.score == y.score) {             // el mismo resultado, un número pequeño de aprendizaje delante de retorno x.number < y.number; 
    } else {
         retorno x.score> y.score;         //

 


    


 



        
    成绩高的在前
    } 
} 

int main () 
{ 
    int n; 
    cin >> n;
    para ( int i = 0 ; i <n; i ++ ) { 
        cin >> arr [i] .Number >> arr [i] .score; 
    } 
    Sort (arr, arr + n, comparar); 
    cout << endl;
    para ( int i = 0 ; i <n; i ++ ) { 
        cout << arr [i] .Number << '  ' << arr [i] .score << endl; 
    } 
    regreso 0 ; 
}

 

Prueba:
 . 4 
. 1  98 
2  90 
. 3  98 
. 4  89 

. 1  98 
. 3  98 
2  90 
. 4  89

 

Supongo que te gusta

Origin www.cnblogs.com/MK-XIAOYU/p/12523226.html
Recomendado
Clasificación