Vector d'ordenació C++ de parells

Vector D Ordenacio C De Parells



C++ ofereix la possibilitat de mostrar el vector de parells i ordenar el vector de parells. Hi ha un contenidor en C++ que conté dos valors que s'assignen entre si, anomenats 'parells' i un 'vector de parells', que és un vector que conté molts d'aquests parells. Ordenar significa ordenar les dades en ordre ascendent o descendent segons els requisits. Aquí, aprendrem a ordenar el vector de parells en programació C++. Podem ordenar el vector de parelles tant en ordres 'creixent' com 'descendent' en C++. Podem ordenar fàcilment el vector de parells utilitzant el mètode 'sort()'. Fem alguns codis aquí per ordenar el vector de parells.

Exemple 1:

Comencem el codi incloent aquí el fitxer de capçalera que és 'bits/stdc++.h'. Després de tenir aquest fitxer de capçalera, no necessitem incloure més fitxers de capçalera, ja que conté totes les biblioteques necessàries. A continuació, afegim l'espai de noms 'std' i cridem a la funció 'main()'.







Ara, declarem un 'vector de parells' anomenat 'my_vect' i posem el tipus de dades 'int' de manera que les dades que introduïm en aquests parells siguin el tipus de dades 'enteger'. A sota d'això, inicialitzem dues matrius amb els noms 'my_arr1[]' i 'my_arr2[]'. Aquí, inicialitzem el primer i el segon valor dels parells amb aquests valors de matriu. A continuació, utilitzem el bucle 'for' per introduir aquests valors al vector de parells. Aquí, fem servir la funció 'push_back()' que ajuda a inserir els valors al final del vector. Dins d'aquesta funció, col·loquem l'opció 'make_pair' que s'utilitza per construir l'objecte de parella de dos valors de 'my_arr1' i 'my_arr2'.



Després d'això, imprimim el vector de parells utilitzant de nou el bucle 'for'. Aquí, s'afegeixen les paraules clau 'primer' i 'segon' per obtenir el primer i el segon valors del vector de parells. Això imprimeix el vector de parelles sense ordenar aquí. Ara, utilitzem la funció 'sort()' per ordenar el vector de parells. Aquí, les funcions 'begin()' i 'end()' s'utilitzen per passar l'inici i el final del vector de parells a aquesta funció 'sort()'.



Després d'ordenar, tornem a imprimir el vector de parelles utilitzant el 'cout' i col·loquem la primera i la segona paraules clau amb 'my_vec[i]'. Ara, el vector ordenat de parelles també s'imprimeix aquí.





Codi 1:

#include

utilitzant namespace std;

int principal ( )

{

vector < parella < tu, tu > > el meu_vect;

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

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

int num = grandària de ( my_arr1 ) / mida de ( my_arr1 [ 0 ] ) ;

per ( int i = 0 ; i < si i++ )

my_vect.push_back ( fer_parell ( my_arr1 [ i ] ,my_arr2 [ i ] ) ) ;

cout << 'Abans d'ordenar el vector de parelles: ' << endl;

per ( int i = 0 ; i < si i++ )

{

cout << el meu_vect [ i ] .primer << ' '

<< el meu_vect [ i ] .segon << endl;

}

ordenar ( my_vect.begin ( ) , my_vect.end ( ) ) ;

cout << ' \n Després d'ordenar el vector de parelles: ' << endl;

per ( int i = 0 ; i < si i++ )

{

cout << el meu_vect [ i ] .primer << ' '

<< el meu_vect [ i ] .segon << endl;

}

tornar 0 ;

}



Sortida:

Primer es mostra el vector de parelles abans de l'ordenació. A continuació, apliquem la tècnica d'ordenació en aquest vector de parelles. Aleshores, aquí també es mostra el vector ordenat de parelles. Podem veure que el vector de parelles s'ordena en ordre ascendent en funció del primer element de la parella.

Exemple 2:

En aquest exemple, ara creem un 'vector de parells' anomenat 'vector_1' i assignem el tipus de dades 'int', que significa que la informació que introduïm en aquests parells és del tipus de dades 'enteger'. A continuació s'inicialitzen dues matrius amb els noms “first_arr[]” i “second_arr[]”. Aquí, inicialitzem els valors d'aquestes matrius per als valors del primer i el segon parell.

A continuació, introduïm aquests valors al vector de parells mitjançant el bucle 'for'. L'opció 'make_pair', que s'utilitza per generar l'objecte de parella de dos valors de les matrius 'first_arr[]' i 'second_arr[]', es col·loca dins del mètode 'push_back()' que ajuda a inserir els elements a la final del vector.

A continuació, fem servir el bucle 'for' una vegada més per sortir el vector de parells. Per obtenir el primer i el segon valors del vector de parelles, s'insereixen les paraules clau 'primer' i 'segon'. Això dóna sortida al vector de parella sense cap tipus d'ordenació en aquest punt. Ara ordenem el 'vector de parells' utilitzant una funció 'sort ()' en ordre descendent. En aquesta funció, col·loquem les funcions 'rbegin()' i 'rend()' de manera que invertirà l'ordenació i començarà des del final dels valors de la parella. Els ordena en ordre descendent.

Després de l'ordenació, fem servir 'cout' per sortir el vector de parells després d'utilitzar el bucle 'for' una vegada més, inserint la primera i la segona paraules clau amb 'vector_1[i]' a 'cout'. Aquí és on també s'imprimeix el vector ordenat dels aparellaments.

Codi 2:

#inclou

utilitzant namespace std;

int principal ( )

{

vector < parella < tu, tu > > vector_1;

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

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

int s = grandària de ( primer_arr ) / mida de ( primer_arr [ 0 ] ) ;

per ( int i = 0 ; i < s; i++ )

vector_1.push_back ( fer_parell ( primer_arr [ i ] , segon_arr [ i ] ) ) ;

cout << 'Abans d'ordenar:' << endl;

per ( int i = 0 ; i < s; i++ ) {

cout << vector_1 [ i ] .primer << ' ' << vector_1 [ i ] .segon

<< endl;

}

ordenar ( vector_1.iniciar ( ) , vector_1.rend ( ) ) ;

cout << endl << 'Després d'ordenar:' << endl;

per ( int i = 0 ; i < s; i++ ) {

cout << vector_1 [ i ] .primer << ' ' << vector_1 [ i ] .segon

<< endl;

}

tornar 0 ;

}

Sortida:

Aquí es mostra primer el vector de classificació prèvia de les parelles, seguit del vector ordenat de les parelles, que també es mostra aquí després d'aplicar-hi el procés d'ordenació. Com podem veure, l'element inicial de cada parell determina com s'ordena el vector de parelles en ordre descendent.

Exemple 3:

Aquí, creem una funció de tipus 'bool' anomenada 'sortBySecElement' per ordenar els números vectorials. En aquesta funció, posem una condició, el 'valor1.segon < valor2.segon', que compara els segons valors dels dos vectors de parells i retorna els nombres.

Aleshores, s'invoca el 'main()' a continuació on creem el vector de parells. El següent inicialitza dues matrius anomenades 'new_array1[]' i 'new_aray2[]'. Aquí, inserim els valors de parells en aquestes matrius. A continuació, utilitzem el bucle 'for' per introduir aquests valors al vector de parells. Dins del mètode 'push_back()', que ajuda a inserir els elements al final del vector, hi ha l'opció 'make_pair' que s'utilitza per crear l'objecte de parella de dos valors de 'new_array1[]' i 'new_array2['. ]” matrius.

A continuació, fem sortir el vector de parells utilitzant un altre bucle 'for'. Les paraules clau 'primer' i 'segon' s'insereixen per obtenir el primer i el segon valors del vector de parells. En aquesta etapa no es fa cap classificació i es genera el vector de parell. Ara fem servir la funció “sort()” per ordenar-lo. El començament i el final del vector de parells es proporcionen a la funció “sort()” en aquest cas mitjançant l'ús de les funcions “begin()” i “end()”. També col·loquem la funció 'sortBySecElement' que hem creat anteriorment dins d'aquesta funció 'sort()' on establim el patró de vector d'ordenació de parells del segon element del vector en ordre ascendent.

Ara, tornem a utilitzar el bucle 'for'. A continuació, la primera i la segona paraules clau s'insereixen amb 'new_vec[i]' al 'cout' per tornar a produir el vector de parells després de l'ordenació. Aquí també s'imprimeix el vector ordenat dels parells en ordre ascendent.

Codi 3:

#include

utilitzant namespace std;

bool sortBySecElement ( parell const < tu, tu > & valor 1,

parell const < tu, tu > & valor 2 )

{

tornar ( valor1.segon < valor2.segon ) ;

}

int principal ( )

{

vector < parella < tu, tu > > cosa_nova

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

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

int valor = sizeof ( nou_arr1 ) / mida de ( nou_arr1 [ 0 ] ) ;

per ( int i = 0 ; i < valor; i++ )

new_vec.push_back ( fer_parell ( nou_arr1 [ i ] ,new_arr2 [ i ] ) ) ;

cout << 'Abans d'ordenar:' << endl;

per ( int i = 0 ; i < valor; i++ )

{

cout << cosa_nova [ i ] .primer << ' '

<< cosa_nova [ i ] .segon << endl;

}

ordenar ( new_vec.begin ( ) , new_vec.end ( ) , sortBySecElement ) ;

cout << endl << 'Després d'ordenar:' << endl;

per ( int i = 0 ; i < valor; i++ )

{

cout << cosa_nova [ i ] .primer << ' '

<< cosa_nova [ i ] .segon << endl;

}

tornar 0 ;

}

Sortida:

Aquí, es mostra el vector ordenat de parelles i l'ordenació es fa segons els segons valors dels parells. El segon element de parelles s'emmagatzema en ordre ascendent i es mostra aquí.

Conclusió

Aquesta guia tracta sobre el 'vector d'ordenació de parells' en C++. Hem explorat el 'vector de parelles' sense ordenar així com el 'vector de parelles' en ordre ascendent i descendent. Ho vam il·lustrar amb els exemples en què ordenem el 'vector de parells' segons el primer i el segon nombre d'aquests parells en la programació C++. Hem après que el mètode 'sort()' ajuda a fer aquesta ordenació.