C++ Razvrsti vektor parov

C Razvrsti Vektor Parov



C++ nudi možnost prikaza vektorja parov in razvrščanja vektorja parov. V C++ obstaja vsebnik, ki vsebuje dve vrednosti, ki sta preslikani ena v drugo, imenovana 'par' in 'vektor parov', ki je vektor, ki vsebuje veliko teh parov. Razvrščanje pomeni razvrščanje podatkov v naraščajočem ali padajočem vrstnem redu glede na zahteve. Tukaj se bomo naučili, kako razvrstiti vektor parov v programiranju C++. V C++ lahko vektor parov razvrstimo v 'naraščajočem' in 'padajočem' vrstnem redu. Vektor parov lahko preprosto razvrstimo z uporabo metode 'sort()'. Tukaj naredimo nekaj kod za razvrščanje vektorja parov.

Primer 1:

Začnimo kodo tako, da tukaj vključimo datoteko glave, ki je 'bits/stdc++.h'. Ko imamo to datoteko glave, nam ni treba vključiti več datotek glave, saj vsebuje vse potrebne knjižnice. Nato dodamo imenski prostor »std« in pokličemo funkcijo »main()«.







Zdaj deklariramo »vektor parov« z imenom »my_vect« in postavimo podatkovni tip »int«, tako da so podatki, ki jih vnesemo v te pare, podatkovni tip »integer«. Pod tem inicializiramo dve matriki z imeni “my_arr1[]” in “my_arr2[]”. Tukaj inicializiramo prvo in drugo vrednost parov s temi vrednostmi polja. Nato uporabimo zanko 'for', da te vrednosti vnesemo v vektor parov. Tukaj uporabljamo funkcijo »push_back()«, ki pomaga pri vstavljanju vrednosti na koncu vektorja. Znotraj te funkcije postavimo možnost »make_pair«, ki se uporablja za izdelavo para objekta dveh vrednosti »my_arr1« in »my_arr2«.



Po tem natisnemo vektor parov s ponovno uporabo zanke 'za'. Tukaj sta dodani ključni besedi 'prva' in 'druga', da dobimo prvo in drugo vrednost vektorja parov. To natisne vektor parov brez razvrščanja tukaj. Zdaj uporabimo funkcijo 'sort()' za razvrščanje vektorja parov. Tukaj sta uporabljeni funkciji »begin()« in »end()«, ki sta posredovala začetni in konec vektorja parov tej funkciji »sort()«.



Po razvrščanju ponovno natisnemo vektor parov z uporabo »cout« in postavimo prvo in drugo ključno besedo z »my_vec[i]«. Zdaj je tukaj natisnjen tudi razvrščeni vektor parov.





Koda 1:

#include

uporaba imenskega prostora std;

int main ( )

{

vektor < par < ti, ti > > moj_vect;

int moj_arr1 [ ] = { 49 , dvajset , petnajst , 56 } ;

int moj_arr2 [ ] = { 37 , dvajset , 90 , 55 } ;

int num = sizeof ( moj_arr1 ) / sizeof ( moj_arr1 [ 0 ] ) ;

za ( int jaz = 0 ; jaz < ali i++ )

moj_vect.push_back ( make_pair ( moj_arr1 [ jaz ] ,moj_arr2 [ jaz ] ) ) ;

cout << 'Pred razvrščanjem vektorja parov: ' << endl;

za ( int jaz = 0 ; jaz < ali i++ )

{

cout << moj_vect [ jaz ] .prvi << ' '

<< moj_vect [ jaz ] .drugi << endl;

}

vrsta ( moj_vect.begin ( ) , moj_vect.end ( ) ) ;

cout << ' \n Po razvrščanju vektorja parov: ' << endl ;

za ( int jaz = 0 ; jaz < ali i++ )

{

cout << moj_vect [ jaz ] .prvi << ' '

<< moj_vect [ jaz ] .drugi << endl;

}

vrnitev 0 ;

}



Izhod:

Najprej se prikaže vektor parov pred razvrščanjem. Nato uporabimo tehniko razvrščanja na tem vektorju parov. Nato se tukaj prikaže tudi razvrščeni vektor parov. Vidimo lahko, da je vektor parov razvrščen v naraščajočem vrstnem redu glede na prvi element para.

Primer 2:

V tem primeru zdaj ustvarimo »vektor parov«, imenovan »vector_1«, in dodelimo podatkovni tip »int«, kar pomeni, da so informacije, ki jih vnesemo v te pare, podatkovnega tipa »celo število«. V nadaljevanju sta inicializirani dve matriki z imeni “first_arr[]” in “second_arr[]”. Tukaj inicializiramo vrednosti teh nizov za vrednosti prvega in drugega para.

Nato te vrednosti vnesemo v vektor parov z uporabo zanke 'za'. Možnost »make_pair«, ki se uporablja za generiranje predmeta para dveh vrednosti iz nizov »first_arr[]« in »second_arr[]«, je nameščena znotraj metode »push_back()«, ki pomaga vstaviti elemente v konec vektorja.

Nato še enkrat uporabimo zanko 'for', da izpišemo vektor parov. Za pridobitev prve in druge vrednosti vektorja parov se vstavita 'prva' in 'druga' ključna beseda. To izpiše vektor para brez kakršnega koli razvrščanja na tej točki. Zdaj razvrstimo »vektor parov« z uporabo funkcije »sort()« v padajočem vrstnem redu. V to funkcijo postavimo funkciji 'rbegin()' in 'rend()', tako da bo obrnila razvrščanje in začela od konca vrednosti para. Razporedi jih v padajočem vrstnem redu.

Po razvrščanju uporabimo »cout« za izpis vektorja parov, potem ko ponovno uporabimo zanko »for« in vstavimo prvo in drugo ključno besedo z »vector_1[i]« v »cout«. Tukaj se natisne tudi razvrščeni vektor parov.

Koda 2:

#include

uporaba imenskega prostora std;

int main ( )

{

vektor < par < ti, ti > > vektor_1;

int prvi_arr [ ] = { 77 , 29 , 97 , petnajst } ;

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

int s = sizeof ( prvi_arr ) / sizeof ( prvi_arr [ 0 ] ) ;

za ( int i = 0 ; jaz < s; i++ )

vector_1.push_back ( make_pair ( prvi_arr [ jaz ] , drugi_arr [ jaz ] ) ) ;

cout << 'Pred razvrščanjem:' << endl;

za ( int i = 0 ; jaz < s; i++ ) {

cout << vektor_1 [ jaz ] .prvi << ' ' << vektor_1 [ jaz ] .drugi

<< endl;

}

vrsta ( vektor_1.begin ( ) , vektor_1.rend ( ) ) ;

cout << konec << 'Po razvrščanju:' << endl;

za ( int i = 0 ; jaz < s; i++ ) {

cout << vektor_1 [ jaz ] .prvi << ' ' << vektor_1 [ jaz ] .drugi

<< endl;

}

vrnitev 0 ;

}

Izhod:

Tukaj je najprej prikazan vektor predrazvrščanja parov, ki mu sledi razvrščeni vektor parov, ki je prav tako prikazan tukaj, potem ko je zanj uporabljen postopek razvrščanja. Kot lahko vidimo, začetni element vsakega para določa, kako je vektor parov razvrščen v padajočem vrstnem redu.

Primer 3:

Tukaj ustvarimo funkcijo tipa »bool« z imenom »sortBySecElement« za razvrščanje vektorskih števil. V to funkcijo postavimo pogoj, »value1.second < value2.second«, ki primerja druge vrednosti obeh vektorjev parov in vrne števila.

Nato se v nadaljevanju prikliče »main()«, kjer ustvarimo vektor parov. Naslednje inicializira dve matriki z imenom “new_array1[]” in “new_aray2[]”. Tukaj vstavimo vrednosti parov v te nize. Nato uporabimo zanko 'za' za vnos teh vrednosti v vektor parov. Znotraj metode »push_back()«, ki pomaga pri vstavljanju elementov na koncu vektorja, je možnost »make_pair«, ki se uporablja za ustvarjanje predmeta para dveh vrednosti iz »new_array1[]« in »new_array2[ ]” matrike.

Nato izpišemo vektor parov z drugo zanko 'za'. Ključni besedi »prva« in »druga« sta vstavljeni, da dobimo prvo in drugo vrednost vektorja parov. Na tej stopnji se razvrščanje ne izvede in izpiše se parni vektor. Zdaj za razvrščanje uporabljamo funkcijo 'sort()'. Začetek in konec vektorja parov sta v tem primeru posredovana funkciji 'sort()' z uporabo funkcij 'begin()' in 'end()'. Prav tako postavimo funkcijo “sortBySecElement”, ki smo jo predhodno ustvarili znotraj te funkcije “sort()”, kjer nastavimo vzorec razvrščanja vektorja parov iz drugega elementa vektorja v naraščajočem vrstnem redu.

Zdaj spet uporabimo zanko 'za'. Nato sta prva in druga ključna beseda vstavljeni z »new_vec[i]« v »cout«, da se po razvrščanju znova ustvari vektor parov. Tukaj je zdaj tudi natisnjen razvrščeni vektor parov v naraščajočem vrstnem redu.

Koda 3:

#include

uporaba imenskega prostora std;

bool sortBySecElement ( const par < ti, ti > & vrednost1,

const par < ti, ti > & vrednost2 )

{

vrnitev ( vrednost1.drugo < vrednost2.drugo ) ;

}

int main ( )

{

vektor < par < ti, ti > > nova_stvar

int nov_arr1 [ ] = { 3. 4 , 29 , 65 , 48 } ;

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

int vrednost = sizeof ( nov_arr1 ) / sizeof ( nov_arr1 [ 0 ] ) ;

za ( int jaz = 0 ; jaz < vrednost; i++ )

new_vec.push_back ( make_pair ( nov_arr1 [ jaz ] ,nov_arr2 [ jaz ] ) ) ;

cout << 'Pred razvrščanjem:' << endl ;

za ( int jaz = 0 ; jaz < vrednost; i++ )

{

cout << nova_stvar [ jaz ] .prvi << ' '

<< nova_stvar [ jaz ] .drugi << endl;

}

vrsta ( new_vec.begin ( ) , nov_vec.konec ( ) , razvrstiPoSecElementu ) ;

cout << konec << 'Po razvrščanju:' << endl ;

za ( int jaz = 0 ; jaz < vrednost; i++ )

{

cout << nova_stvar [ jaz ] .prvi << ' '

<< nova_stvar [ jaz ] .drugi << endl;

}

vrnitev 0 ;

}

Izhod:

Tukaj je prikazan razvrščeni vektor parov, razvrščanje pa se izvede glede na druge vrednosti parov. Drugi element parov je shranjen v naraščajočem vrstnem redu in prikazan tukaj.

Zaključek

Ta vodnik govori o »razvrščanju vektorja parov« v C++. Raziskovali smo »vektor parov« brez razvrščanja ter razvrščanje »vektorja parov« v naraščajočem in padajočem vrstnem redu. To smo ponazorili s primeri, v katerih razvrščamo »vektor parov« glede na prvo in drugo številko teh parov v programiranju C++. Izvedeli smo, da metoda »sort()« pomaga pri tem razvrščanju.