C++ Sorteervector van paren

C Sorteervector Van Paren



C++ biedt de mogelijkheid om de vector van paren weer te geven en de vector van paren te sorteren. Er is een container in C++ die twee waarden bevat die aan elkaar zijn toegewezen, een 'paar' genoemd, en een 'vector van paren', een vector die veel van deze paren bevat. Sorteren betekent dat de gegevens in oplopende of aflopende volgorde worden gerangschikt, afhankelijk van de vereisten. Hier zullen we leren hoe we de vector van paren kunnen sorteren in C++-programmeren. We kunnen de vector van paren in zowel “oplopende” als “aflopende” volgorde sorteren in C++. We kunnen de vector van paren eenvoudig sorteren door de methode 'sort()' te gebruiken. Laten we hier wat codes gebruiken om de vector van paren te sorteren.

Voorbeeld 1:

Laten we de code beginnen door hier het headerbestand op te nemen, namelijk 'bits/stdc++.h'. Nadat we dit headerbestand hebben, hoeven we niet meer headerbestanden op te nemen, omdat het alle benodigde bibliotheken bevat. Vervolgens voegen we de naamruimte “std” toe en roepen de functie “main()” aan.







Nu declareren we een ‘vector van paren’ met de naam ‘my_vect’ en plaatsen we het gegevenstype ‘int’ zodat de gegevens die we in deze paren invoeren het gegevenstype ‘geheel getal’ zijn. Hieronder initialiseren we twee arrays met de namen “my_arr1[]” en “my_arr2[]”. Hier initialiseren we de eerste en tweede waarden van de paren met deze arraywaarden. Vervolgens gebruiken we de “for”-lus om deze waarden in de vector van paren in te voeren. Hier gebruiken we de functie “push_back()” die helpt bij het invoegen van de waarden aan het einde van de vector. Binnen deze functie plaatsen we de optie “make_pair” die wordt gebruikt om het paarobject van twee waarden van “my_arr1” en “my_arr2” te construeren.



Hierna drukken we de vector van paren af ​​door opnieuw de “for”-lus te gebruiken. Hier worden de trefwoorden “eerste” en “tweede” toegevoegd om de eerste en tweede waarden van de vector van paren te verkrijgen. Hiermee wordt de vector van paren afgedrukt zonder hier te sorteren. Nu gebruiken we de functie “sort()” om de vector van paren te sorteren. Hier worden de functies “begin()” en “end()” gebruikt, waarbij het begin en einde van de vector van paren worden doorgegeven aan deze functie “sort()”.



Na het sorteren drukken we de vector van paren opnieuw af door gebruik te maken van de “cout” en plaatsen we het eerste en tweede trefwoord met “my_vec[i]”. Nu wordt de gesorteerde vector van paren hier ook afgedrukt.





Code1:

#include

namespace std; gebruiken;

int. hoofd ( )

{

vector < paar < jij, jij > > mijn_vector;

int mijn_arr1 [ ] = { 49 , twintig , vijftien , 56 } ;

int mijn_arr2 [ ] = { 37 , twintig , 90 , 55 } ;

int num = groottevan ( mijn_arr1 ) / De grootte van ( mijn_arr1 [ 0 ] ) ;

voor ( int i = 0 ; i < of ik++ )

mijn_vect.push_back ( maak_paar ( mijn_arr1 [ i ] ,mijn_arr2 [ i ] ) ) ;

uit << 'Voordat u de vector van paren sorteert: ' << eind;

voor ( int i = 0 ; i < of ik++ )

{

uit << mijn_vector [ i ] .Eerst << ' '

<< mijn_vector [ i ] .seconde << eind;

}

soort ( mijn_vect.begin ( ) , mijn_vect.end ( ) ) ;

uit << ' \N Na het sorteren van de vector van paren: ' << eind;

voor ( int i = 0 ; i < of ik++ )

{

uit << mijn_vector [ i ] .Eerst << ' '

<< mijn_vector [ i ] .seconde << eind;

}

opbrengst 0 ;

}



Uitgang:

De vector van paren vóór het sorteren wordt eerst weergegeven. Vervolgens passen we de sorteertechniek toe op deze vector van paren. Vervolgens wordt hier ook de gesorteerde vector van paren weergegeven. We kunnen zien dat de vector van paren in oplopende volgorde wordt gesorteerd op basis van het eerste element van het paar.

Voorbeeld 2:

In dit voorbeeld maken we nu een ‘vector van paren’ genaamd ‘vector_1’ en wijzen we het gegevenstype ‘int’ toe, wat betekent dat de informatie die we in deze paren invoeren van het gegevenstype ‘geheel getal’ is. Hieronder worden twee arrays met de namen “first_arr[]” en “second_arr[]” geïnitialiseerd. Hier initialiseren we de waarden van deze arrays voor de waarden van het eerste en tweede paar.

Vervolgens voeren we deze waarden in de vector van paren in met behulp van de “for”-lus. De optie “make_pair”, die wordt gebruikt om het paarobject van twee waarden uit de arrays “first_arr[]” en “second_arr[]” te genereren, wordt in de methode “push_back()” geplaatst, die helpt bij het invoegen van de items op de einde van de vector.

Vervolgens gebruiken we nogmaals de “for”-lus om de vector van paren uit te voeren. Om de eerste en tweede waarden van de vector van paren te verkrijgen, worden de trefwoorden 'eerste' en 'tweede' ingevoegd. Hierdoor wordt de paarvector uitgevoerd zonder enige sortering op dit punt. We sorteren nu de “vector van paren” door een “sort()” -functie in aflopende volgorde te gebruiken. In deze functie plaatsen we de functies “rbegin()” en “rend()” zodat de sortering wordt omgedraaid en begint vanaf het einde van de waarden van het paar. Het rangschikt ze in aflopende volgorde.

Na het sorteren gebruiken we “cout” om de vector van paren uit te voeren, nadat we nogmaals de “for”-lus hebben gebruikt, waarbij we het eerste en tweede sleutelwoord met “vector_1[i]” in “cout” hebben ingevoegd. Dit is waar de gesorteerde vector van de paren ook wordt afgedrukt.

Code2:

#include

namespace std; gebruiken;

int. hoofd ( )

{

vector < paar < jij, jij > > vector_1;

int eerste_arr [ ] = { 77 , 29 , 97 , vijftien } ;

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

int s = groottevan ( eerste_arr ) / De grootte van ( eerste_arr [ 0 ] ) ;

voor ( int ik = 0 ; i < S; ik++ )

vector_1.push_back ( maak_paar ( eerste_arr [ i ] , tweede_arr [ i ] ) ) ;

uit << 'Vóór het sorteren:' << eind;

voor ( int ik = 0 ; i < S; ik++ ) {

uit << vector_1 [ i ] .Eerst << ' ' << vector_1 [ i ] .seconde

<< eind;

}

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

uit << eindl << 'Na het sorteren:' << eind;

voor ( int ik = 0 ; i < S; ik++ ) {

uit << vector_1 [ i ] .Eerst << ' ' << vector_1 [ i ] .seconde

<< eind;

}

opbrengst 0 ;

}

Uitgang:

De voorsorteervector van de paren wordt hier eerst weergegeven, gevolgd door de gesorteerde vector van de paren, die hier eveneens wordt weergegeven nadat het sorteerproces erop is toegepast. Zoals we kunnen zien, bepaalt het initiële element van elk paar hoe de vector van paren in aflopende volgorde wordt gesorteerd.

Voorbeeld 3:

Hier creëren we een functie van het type “bool” met de naam “sortBySecElement” om de vectornummers te sorteren. In deze functie plaatsen we een voorwaarde, de “waarde1.second

Vervolgens wordt de “main()” aangeroepen in het volgende, waar we de vector van paren maken. Het volgende initialiseert twee arrays genaamd “new_array1[]” en “new_aray2[]”. Hier voegen we de waarden van paren in deze arrays in. Vervolgens gebruiken we de “for”-lus om deze waarden in de vector van paren in te voeren. Binnen de “push_back()”-methode, die helpt bij het invoegen van de items aan het einde van de vector, bevindt zich de “make_pair”-optie die wordt gebruikt om het paarobject van twee waarden te maken uit de “new_array1[]” en “new_array2[ ]”-arrays.

Vervolgens voeren we de vector van paren uit met behulp van een andere 'for' -lus. De trefwoorden “eerste” en “tweede” worden ingevoegd om de eerste en tweede waarden van de vector van paren te verkrijgen. Er wordt in dit stadium niet gesorteerd en de paarvector wordt uitgevoerd. We gebruiken nu de functie “sort()” om het te sorteren. Het begin en einde van de vector van paren worden in dit geval aan de functie “sort()” geleverd via het gebruik van de functies “begin()” en “end()”. We plaatsen ook de functie “sortBySecElement” die we eerder hebben gemaakt in deze functie “sort()”, waar we het patroon van de sorteervector van paren vanaf het tweede element van de vector in oplopende volgorde instellen.

Nu gebruiken we opnieuw de ‘for’-lus. Vervolgens worden de eerste en tweede trefwoorden ingevoegd met “new_vec[i]” in de “cout” om na het sorteren opnieuw de vector van paren te produceren. Dit is ook waar nu de gesorteerde vector van de paren in oplopende volgorde wordt afgedrukt.

Code 3:

#include

namespace std; gebruiken;

bool sortBySecElement ( const paar < jij, jij > & waarde1,

const paar < jij, jij > & waarde2 )

{

opbrengst ( waarde1.seconde < waarde2.seconde ) ;

}

int. hoofd ( )

{

vector < paar < jij, jij > > nieuw ding

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

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

int waarde = groottevan ( nieuw_arr1 ) / De grootte van ( nieuw_arr1 [ 0 ] ) ;

voor ( int i = 0 ; i < waarde; ik++ )

new_vec.push_back ( maak_paar ( nieuw_arr1 [ i ] ,nieuwe_arr2 [ i ] ) ) ;

uit << 'Vóór het sorteren:' << eind;

voor ( int i = 0 ; i < waarde; ik++ )

{

uit << nieuw ding [ i ] .Eerst << ' '

<< nieuw ding [ i ] .seconde << eind;

}

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

uit << eindl << 'Na het sorteren:' << eind;

voor ( int i = 0 ; i < waarde; ik++ )

{

uit << nieuw ding [ i ] .Eerst << ' '

<< nieuw ding [ i ] .seconde << eind;

}

opbrengst 0 ;

}

Uitgang:

Hier wordt de gesorteerde vector van paren weergegeven en wordt er gesorteerd op basis van de tweede waarden van de paren. Het tweede element van paren wordt in oplopende volgorde opgeslagen en hier weergegeven.

Conclusie

Deze gids gaat helemaal over de “sorteervector van paren” in C++. We hebben de ‘vector van paren’ onderzocht zonder te sorteren, maar ook de ‘vector van paren’ in oplopende en aflopende volgorde gesorteerd. We illustreerden dit met de voorbeelden waarin we de “vector van paren” sorteren op basis van het eerste en tweede getal van deze paren in C++-programmering. We hebben geleerd dat de methode “sort()” helpt bij het sorteren.