C++ Sorteringsvektor av par

C Sorteringsvektor Av Par



C++ ger möjlighet att visa vektorn av par och sortera vektorn av par. Det finns en behållare i C++ som innehåller två värden som är mappade till varandra som kallas ett 'par' och en 'vektor av par' som är en vektor som har många av dessa par i sig. Sortering innebär att ordna data i stigande eller fallande ordning enligt kraven. Här kommer vi att lära oss hur man sorterar vektorn av par i C++-programmering. Vi kan sortera vektorn av par i både 'stigande' och 'fallande' ordning i C++. Vi kan enkelt sortera vektorn av par genom att använda metoden 'sort()'. Låt oss göra några koder här för att sortera vektorn av par.

Exempel 1:

Låt oss börja koden med att inkludera rubrikfilen här som är 'bits/stdc++.h'. Efter att ha haft den här rubrikfilen behöver vi inte inkludera fler rubrikfiler eftersom den innehåller alla nödvändiga bibliotek. Sedan lägger vi till namnutrymmet 'std' och anropar funktionen 'main()'.







Nu deklarerar vi en 'vektor av par' som heter 'my_vect' och sätter datatypen 'int' så att data som vi anger i dessa par är datatypen 'heltal'. Under detta initierar vi två arrayer med namnen 'my_arr1[]' och 'my_arr2[]'. Här initierar vi parens första och andra värden med dessa matrisvärden. Sedan använder vi 'för'-loopen för att mata in dessa värden i vektorn av par. Här använder vi funktionen 'push_back()' som hjälper till att infoga värdena i slutet av vektorn. Inuti den här funktionen placerar vi alternativet 'make_pair' som används för att konstruera parobjektet med två värden 'my_arr1' och 'my_arr2'.



Efter detta skriver vi ut vektorn av par genom att använda 'för'-loopen igen. Här läggs nyckelorden 'första' och 'andra' till för att få det första och andra värdet av vektorn av par. Detta skriver ut vektorn av par utan att sortera här. Nu använder vi funktionen 'sort()' för att sortera vektorn av par. Här används funktionerna 'begin()' och 'end()' som skickade början och slutet av vektorn av par till denna 'sort()'-funktion.



Efter sortering skriver vi ut vektorn av par igen genom att använda 'cout' och placerar de första och andra nyckelorden med 'my_vec[i]'. Nu skrivs även den sorterade vektorn av par ut här.





Kod 1:

#include

använder namnutrymme std;

int main ( )

{

vektor < par < du du > > min_vect;

int my_arr1 [ ] = { 49 , tjugo , femton , 56 } ;

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

int num = storleken på ( min_arr1 ) / storlek av ( min_arr1 [ 0 ] ) ;

för ( int i = 0 ; i < huruvida i++ )

my_vect.push_back ( make_pair ( min_arr1 [ i ] ,min_arr2 [ i ] ) ) ;

cout << 'Innan du sorterar vektor av par: ' << endl;

för ( int i = 0 ; i < huruvida i++ )

{

cout << min_vect [ i ] .först << ' '

<< min_vect [ i ] .andra << endl;

}

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

cout << ' \n Efter sortering av vektor av par: ' << endl ;

för ( int i = 0 ; i < huruvida i++ )

{

cout << min_vect [ i ] .först << ' '

<< min_vect [ i ] .andra << endl;

}

lämna tillbaka 0 ;

}



Produktion:

Vektorn av par före sortering visas först. Sedan tillämpar vi sorteringstekniken på denna vektor av par. Sedan visas också den sorterade vektorn av par här. Vi kan se att vektorn av par sorteras i stigande ordning baserat på det första elementet i paret.

Exempel 2:

I det här exemplet skapar vi nu en 'vektor av par' som heter 'vektor_1' och tilldelar datatypen 'int' vilket betyder att informationen som vi anger i dessa par är av datatypen 'heltal'. Två arrayer med namnen 'first_arr[]' och 'second_arr[]' initieras i det följande. Här initierar vi dessa arrays värden för de första och andra parens värden.

Därefter anger vi dessa värden i vektorn av par med hjälp av 'för'-loopen. Alternativet 'make_pair', som används för att generera parobjektet med två värden från arrayerna 'first_arr[]' och 'second_arr[]', placeras i metoden 'push_back()' som hjälper till att infoga objekten vid slutet av vektorn.

Därefter använder vi 'för'-loopen en gång till för att mata ut vektorn av par. För att erhålla det första och andra värdet av vektorn av par infogas nyckelorden 'första' och 'andra'. Detta matar ut parvektorn utan någon sortering vid denna punkt. Vi sorterar nu 'vektorn av par' genom att använda en 'sort()'-funktion i fallande ordning. I den här funktionen placerar vi funktionerna 'rbegin()' och 'rend()' så att det vänder sorteringen och börjar från slutet av parets värden. Den ordnar dem i fallande ordning.

Efter sorteringen använder vi 'cout' för att mata ut vektorn av par efter att ha använt 'for'-slingan en gång till och infogat de första och andra nyckelorden med 'vector_1[i]' i 'cout'. Det är här också parningarnas sorterade vektor skrivs ut.

Kod 2:

#include

använder namnutrymme std;

int main ( )

{

vektor < par < du du > > vektor_1;

int first_arr [ ] = { 77 , 29 , 97 , femton } ;

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

int s = storleken på ( first_arr ) / storlek av ( first_arr [ 0 ] ) ;

för ( int i = 0 ; i < s; i++ )

vector_1.push_back ( make_pair ( first_arr [ i ] , andra_arr [ i ] ) ) ;

cout << 'Innan sortering:' << endl;

för ( int i = 0 ; i < s; i++ ) {

cout << vektor_1 [ i ] .först << ' ' << vektor_1 [ i ] .andra

<< endl;

}

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

cout << endl << 'Efter sortering:' << endl;

för ( int i = 0 ; i < s; i++ ) {

cout << vektor_1 [ i ] .först << ' ' << vektor_1 [ i ] .andra

<< endl;

}

lämna tillbaka 0 ;

}

Produktion:

Parens försorteringsvektor visas här först, följt av parens sorterade vektor som också visas här efter att sorteringsprocessen har tillämpats på den. Som vi kan se bestämmer det initiala elementet i varje par hur vektorn av par sorteras i fallande ordning.

Exempel 3:

Här skapar vi en funktion av typen 'bool' med namnet 'sortBySecElement' för att sortera vektornumren. I den här funktionen placerar vi ett villkor, 'value1.second < value2.second', som jämför de andra värdena för båda vektorerna av par och returnerar talen.

Sedan anropas 'main()' i det följande där vi skapar vektorn av par. Följande initierar två arrayer med namnet 'new_array1[]' och 'new_aray2[]'. Här infogar vi värdena för par i dessa arrayer. Därefter använder vi 'för'-loopen för att mata in dessa värden i vektorn av par. Inuti metoden 'push_back()', som hjälper till att infoga objekten i slutet av vektorn, finns alternativet 'make_pair' som används för att skapa parobjektet med två värden från 'new_array1[]' och 'new_array2[ ]”-matriser.

Vi matar sedan ut vektorn av par med en annan 'för'-loop. Nyckelorden 'första' och 'andra' infogas för att få det första och andra värdet av vektorn av par. Ingen sortering görs i detta skede, och parvektorn matas ut. Vi använder nu funktionen 'sort()' för att sortera den. Början och slutet av vektorn av par levereras till 'sort()'-funktionen i detta fall via användningen av 'begin()' och 'end()'-funktionerna. Vi placerar också funktionen 'sortBySecElement' som vi tidigare skapade i denna 'sort()'-funktion där vi ställer in mönstret för sorteringsvektor av par från det andra elementet i vektorn i stigande ordning.

Nu använder vi 'för'-loopen igen. Sedan infogas det första och andra nyckelordet med 'new_vec[i]' i 'cout' för att producera vektorn av par igen efter sortering. Det är också här den sorterade vektorn för paren i stigande ordning nu skrivs ut.

Kod 3:

#include

använder namnutrymme std;

bool sortBySecElement ( konstpar < du du > & värde1,

konstpar < du du > & värde2 )

{

lämna tillbaka ( värde1.sekund < värde2.sekund ) ;

}

int main ( )

{

vektor < par < du du > > ny sak

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

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

int värde = storleken på ( ny_arr1 ) / storlek av ( ny_arr1 [ 0 ] ) ;

för ( int i = 0 ; i < värde; i++ )

new_vec.push_back ( make_pair ( ny_arr1 [ i ] ,new_arr2 [ i ] ) ) ;

cout << 'Innan sortering:' << endl ;

för ( int i = 0 ; i < värde; i++ )

{

cout << ny sak [ i ] .först << ' '

<< ny sak [ i ] .andra << endl;

}

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

cout << endl << 'Efter sortering:' << endl ;

för ( int i = 0 ; i < värde; i++ )

{

cout << ny sak [ i ] .först << ' '

<< ny sak [ i ] .andra << endl;

}

lämna tillbaka 0 ;

}

Produktion:

Här visas den sorterade vektorn av par, och sorteringen görs enligt de andra värdena för paren. Det andra elementet av par lagras i stigande ordning och visas här.

Slutsats

Den här guiden handlar om 'sorteringsvektorn av par' i C++. Vi utforskade 'parvektorn' utan att sortera samt sorterade 'parvektorn' i stigande och fallande ordning. Vi illustrerade detta med exemplen där vi sorterar 'parvektorn' enligt det första och andra numret av dessa par i C++-programmering. Vi lärde oss att metoden 'sort()' hjälper till att göra denna sortering.