C++ Ordenar vector de pares

C Ordenar Vector De Pares



C++ proporciona la posibilidad de mostrar el vector de pares y ordenar el vector de pares. Hay un contenedor en C++ que contiene dos valores asignados entre sí llamado 'par' y 'vector de pares', que es un vector que contiene muchos de estos pares. Ordenar significa organizar los datos en orden ascendente o descendente según los requisitos. Aquí aprenderemos cómo ordenar el vector de pares en programación C++. Podemos ordenar el vector de pares en orden 'ascendente' y 'descendente' en C++. Podemos ordenar fácilmente el vector de pares utilizando el método 'sort()'. Hagamos algunos códigos aquí para ordenar el vector de pares.

Ejemplo 1:

Comencemos el código incluyendo aquí el archivo de encabezado que es 'bits/stdc++.h'. Después de tener este archivo de encabezado, no necesitamos incluir más archivos de encabezado ya que contiene todas las bibliotecas necesarias. Luego, agregamos el espacio de nombres 'std' y llamamos a la función 'main()'.







Ahora, declaramos un 'vector de pares' llamado 'my_vect' y ponemos el tipo de datos 'int' para que los datos que ingresamos en estos pares sean del tipo de datos 'entero'. Debajo de esto, inicializamos dos matrices con los nombres 'my_arr1[]' y 'my_arr2[]'. Aquí, inicializamos el primer y segundo valor de los pares con estos valores de matriz. Luego, usamos el bucle 'for' para ingresar estos valores en el vector de pares. Aquí usamos la función 'push_back()' que ayuda a insertar los valores al final del vector. Dentro de esta función, colocamos la opción 'make_pair' que se utiliza para construir el objeto par de dos valores de 'my_arr1' y 'my_arr2'.



Después de esto, imprimimos el vector de pares utilizando nuevamente el bucle “for”. Aquí, se agregan las palabras clave 'primera' y 'segunda' para obtener el primer y segundo valor del vector de pares. Esto imprime el vector de pares sin ordenar aquí. Ahora utilizamos la función 'sort()' para ordenar el vector de pares. Aquí, las funciones “begin()” y “end()” se emplean para pasar el inicio y el final del vector de pares a esta función “sort()”.



Después de ordenar, imprimimos el vector de pares nuevamente utilizando “cout” y colocamos la primera y segunda palabras clave con “my_vec[i]”. Ahora, el vector ordenado de pares también se imprime aquí.





Código 1:

#incluir

usando el espacio de nombres estándar;

ent principal ( )

{

vector < par < tu, tu > > mi_vector;

int mi_arr1 [ ] = { 49 , 20 , 15 , 56 } ;

int mi_arr2 [ ] = { 37 , 20 , 90 , 55 } ;

int num = tamaño de ( mi_arr1 ) / tamaño de ( mi_arr1 [ 0 ] ) ;

            para ( En t i = 0 ; i < si yo ++ )

mi_vect.push_back ( hacer_par ( mi_arr1 [ i ] ,mi_arr2 [ i ] ) ) ;

corte << 'Antes de ordenar el vector de pares: ' << fin;

            para ( En t i = 0 ; i < si yo ++ )

            {

corte << mi_vector [ i ] .primero << ' '

                                    << mi_vector [ i ] .segundo << fin;

            }

            clasificar ( mi_vect.begin ( ) , mi_vector.end ( ) ) ;

corte << ' \norte Después de ordenar el vector de pares: ' << fin;

            para ( En t i = 0 ; i < si yo ++ )

            {

corte << mi_vector [ i ] .primero << ' '

                                    << mi_vector [ i ] .segundo << fin;

            }

            devolver 0 ;

}

 



Producción:

Primero se muestra el vector de pares antes de ordenar. Luego, aplicamos la técnica de clasificación sobre este vector de pares. Luego, el vector ordenado de pares también se muestra aquí. Podemos ver que el vector de pares está ordenado en orden ascendente según el primer elemento del par.

Ejemplo 2:

En este ejemplo, ahora creamos un 'vector de pares' llamado 'vector_1' y asignamos el tipo de datos 'int', lo que significa que la información que ingresamos en estos pares es del tipo de datos 'entero'. A continuación se inicializan dos matrices con los nombres “first_arr[]” y “ second_arr[]”. Aquí, inicializamos los valores de estas matrices para los valores del primer y segundo par.

A continuación, ingresamos estos valores en el vector de pares usando el bucle 'for'. La opción “make_pair”, que se utiliza para generar el objeto par de dos valores de las matrices “first_arr[]” y “ second_arr[]”, se coloca dentro del método “push_back()” que ayuda a insertar los elementos en el final del vector.

A continuación, utilizamos el bucle 'for' una vez más para generar el vector de pares. Para obtener el primer y segundo valor del vector de pares se insertan las palabras clave “primera” y “segunda”. Esto genera el vector de par sin ninguna clasificación en este punto. Ahora ordenamos el 'vector de pares' utilizando una función 'sort()' en orden descendente. En esta función, colocamos las funciones “rbegin()” y “rend()” para que invierta la clasificación y comience desde el final de los valores del par. Los organiza en orden descendente.

Después de la clasificación, usamos 'cout' para generar el vector de pares después de utilizar el bucle 'for' una vez más, insertando la primera y segunda palabras clave con 'vector_1[i]' en 'cout'. Aquí es donde también se imprime el vector ordenado de los pares.

Código 2:

#incluir

usando el espacio de nombres estándar;

ent principal ( )

{

vector < par < tu, tu > > vector_1;

int primero_arr [ ] = { 77 , 29 , 97 , 15 } ;

int segundo_arr [ ] = { 35 , 89 , 64 , 25 } ;

int s = tamaño de ( primer_arr ) / tamaño de ( primer_arr [ 0 ] ) ;

            para ( int yo = 0 ; i < s; yo ++ )

vector_1.push_back ( hacer_par ( primer_arr [ i ] , segundo_arr [ i ] ) ) ;

corte << 'Antes de ordenar:' << fin;

            para ( int yo = 0 ; i < s; yo ++ ) {

corte << vector_1 [ i ] .primero << ' ' << vector_1 [ i ] .segundo

                                    << fin;

            }

            clasificar ( vector_1.rbegin ( ) , vector_1.rend ( ) ) ;

corte << fin << 'Después de ordenar:' << fin;

            para ( int yo = 0 ; i < s; yo ++ ) {

corte << vector_1 [ i ] .primero << ' ' << vector_1 [ i ] .segundo

                                    << fin;

            }

            devolver 0 ;

}

 

Producción:

El vector de clasificación previa de los pares se muestra aquí primero, seguido del vector de clasificación de los pares que también se muestra aquí después de que se le aplica el proceso de clasificación. Como podemos ver, el elemento inicial de cada par determina cómo se ordena el vector de pares en orden descendente.

Ejemplo 3:

Aquí, creamos una función de tipo 'bool' llamada 'sortBySecElement' para ordenar los números del vector. En esta función, colocamos una condición, el “valor1.segundo < valor2.segundo”, que compara los segundos valores de ambos vectores de pares y devuelve los números.

Luego, se invoca el “main()” a continuación donde creamos el vector de pares. Lo siguiente inicializa dos matrices denominadas 'new_array1[]' y 'new_aray2[]'. Aquí, insertamos los valores de pares en estas matrices. A continuación, usamos el bucle 'for' para ingresar estos valores en el vector de pares. Dentro del método 'push_back()', que ayuda a insertar los elementos al final del vector, está la opción 'make_pair' que se utiliza para crear el objeto par de dos valores de 'new_array1[]' y 'new_array2[ ]” matrices.

Luego generamos el vector de pares usando otro bucle 'for'. Las palabras clave 'primera' y 'segunda' se insertan para obtener el primer y segundo valor del vector de pares. No se realiza ninguna clasificación en esta etapa y se genera el vector de par. Ahora usamos la función 'sort()' para ordenarlo. El principio y el final del vector de pares se proporcionan a la función “sort()” en este caso mediante el uso de las funciones “begin()” y “end()”. También colocamos la función 'sortBySecElement' que creamos previamente dentro de esta función 'sort()' donde configuramos el patrón de clasificación del vector de pares desde el segundo elemento del vector en orden ascendente.

Ahora, volvemos a utilizar el bucle 'for'. Luego, la primera y segunda palabras clave se insertan con 'new_vec[i]' en el 'cout' para producir el vector de pares nuevamente después de la clasificación. Aquí también se imprime el vector ordenado de los pares en orden ascendente.

Código 3:

#incluir

usando el espacio de nombres estándar;

bool sortBySecElement ( par constante < tu, tu > & valor1,

par constante < tu, tu > & valor2 )

{

            devolver ( valor1.segundo < valor2.segundo ) ;

}

ent principal ( )

{

vector < par < tu, tu > > Cosa nueva

int nuevo_arr1 [ ] = { 34 , 29 , 65 , 48 } ;

int nuevo_arr2 [ ] = { 67 , 19 , 54 , 7 } ;

valor int = tamaño de ( nuevo_arr1 ) / tamaño de ( nuevo_arr1 [ 0 ] ) ;

            para ( En t i = 0 ; i < valor; yo ++ )

nuevo_vec.push_back ( hacer_par ( nuevo_arr1 [ i ] ,nuevo_arr2 [ i ] ) ) ;

corte << 'Antes de ordenar:' << fin;

            para ( En t i = 0 ; i < valor; yo ++ )

            {

corte << Cosa nueva [ i ] .primero << ' '

                                    << Cosa nueva [ i ] .segundo << fin;

            }

            clasificar ( nuevo_vec.begin ( ) , nuevo_vec.end ( ) , ordenarPorElementoSec ) ;

corte << fin << 'Después de ordenar:' << fin;

            para ( En t i = 0 ; i < valor; yo ++ )

            {

corte << Cosa nueva [ i ] .primero << ' '

                                    << Cosa nueva [ i ] .segundo << fin;

            }

            devolver 0 ;

}

 

Producción:

Aquí, se muestra el vector ordenado de pares y la clasificación se realiza según los segundos valores de los pares. El segundo elemento de los pares se almacena en orden ascendente y se muestra aquí.

Conclusión

Esta guía trata sobre el “vector de clasificación de pares” en C++. Exploramos el 'vector de pares' sin ordenar y también ordenamos el 'vector de pares' en orden ascendente y descendente. Ilustramos esto con los ejemplos en los que clasificamos el 'vector de pares' según el primer y segundo número de estos pares en programación C++. Aprendimos que el método 'sort()' ayuda a realizar esta clasificación.