C++ Sorter vektor av par

C Sorter Vektor Av Par



C++ gir mulighet for å vise vektoren av par og sortere vektoren av par. Det er en beholder i C++ som inneholder to verdier som er kartlagt til hverandre kalt et 'par' og en 'vektor av par', som er en vektor som har mange av disse parene i seg. Sortering betyr å ordne dataene i stigende eller synkende rekkefølge i henhold til kravene. Her vil vi lære hvordan du sorterer vektoren av par i C++-programmering. Vi kan sortere vektoren av par i både 'stigende' og 'synkende' rekkefølge i C++. Vi kan enkelt sortere vektoren av par ved å bruke 'sort()'-metoden. La oss gjøre noen koder her for å sortere vektoren av par.

Eksempel 1:

La oss begynne koden med å inkludere overskriftsfilen her som er 'bits/stdc++.h'. Etter å ha hatt denne overskriftsfilen, trenger vi ikke å inkludere flere overskriftsfiler siden den inneholder alle nødvendige biblioteker. Deretter legger vi til 'std'-navneområdet og kaller 'main()'-funksjonen.







Nå erklærer vi en 'vektor av par' kalt 'my_vect' og setter 'int' datatypen slik at dataene vi legger inn i disse parene er 'heltalls' datatypen. Under dette initialiserer vi to arrays med navnene 'my_arr1[]' og 'my_arr2[]'. Her initialiserer vi parenes første og andre verdier med disse matriseverdiene. Deretter bruker vi 'for'-løkken for å legge inn disse verdiene i vektoren av par. Her bruker vi 'push_back()'-funksjonen som hjelper til med å sette inn verdiene på slutten av vektoren. Inne i denne funksjonen plasserer vi 'make_pair'-alternativet som brukes til å konstruere parobjektet med to verdier av 'my_arr1' og 'my_arr2'.



Etter dette skriver vi ut vektoren av par ved å bruke 'for'-løkken igjen. Her legges 'første' og 'andre' nøkkelord til for å få den første og andre verdien av vektoren av par. Dette skriver ut vektoren av par uten å sortere her. Nå bruker vi 'sort()'-funksjonen for å sortere vektoren av par. Her brukes 'begin()' og 'end()'-funksjonene som passerte starten og slutten av vektoren av par til denne 'sort()'-funksjonen.



Etter sortering skriver vi ut vektoren av par igjen ved å bruke 'cout' og plasserer det første og andre nøkkelordet med 'my_vec[i]'. Nå er den sorterte vektoren av par også skrevet ut her.





Kode 1:

#include

bruker navneområde std;

int main ( )

{

vektor < par < dere dere > > min_vect;

int min_arr1 [ ] = { 49 , tjue , femten , 56 } ;

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

int num = størrelsen på ( min_arr1 ) / størrelsen av ( min_arr1 [ 0 ] ) ;

til ( int Jeg = 0 ; Jeg < om i++ )

my_vect.push_back ( make_pair ( min_arr1 [ Jeg ] ,my_arr2 [ Jeg ] ) ) ;

cout << 'Før sortering av vektor av par: ' << endl;

til ( int Jeg = 0 ; Jeg < om i++ )

{

cout << min_vect [ Jeg ] .først << ' '

<< min_vect [ Jeg ] .sekund << endl;

}

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

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

til ( int Jeg = 0 ; Jeg < om i++ )

{

cout << min_vect [ Jeg ] .først << ' '

<< min_vect [ Jeg ] .sekund << endl;

}

komme tilbake 0 ;

}



Produksjon:

Vektoren av par før sortering vises først. Deretter bruker vi sorteringsteknikken på denne vektoren av par. Deretter vises også den sorterte vektoren av par her. Vi kan se at vektoren av par er sortert i stigende rekkefølge basert på det første elementet i paret.

Eksempel 2:

I dette eksemplet lager vi nå en 'vektor av par' kalt 'vektor_1' og tildeler datatypen 'int' som betyr at informasjonen vi legger inn i disse parene er av datatypen 'heltall'. To matriser med navnene 'first_arr[]' og 'second_arr[]' initialiseres i det følgende. Her initialiserer vi disse matrisenes verdier for det første og andre parets verdier.

Deretter legger vi inn disse verdiene i vektoren av par ved å bruke 'for'-løkken. Alternativet «make_pair», som brukes til å generere parobjektet med to verdier fra «first_arr[]» og «second_arr[]»-matrisene, plasseres inne i «push_back()»-metoden som hjelper til med å sette inn elementene på slutten av vektoren.

Deretter bruker vi 'for'-løkken en gang til for å sende ut vektoren av par. For å få den første og andre verdien av vektoren av par, settes 'første' og 'andre' nøkkelord inn. Dette sender ut parvektoren uten noen sortering på dette tidspunktet. Vi sorterer nå 'vektoren av par' ved å bruke en 'sort()'-funksjon i synkende rekkefølge. I denne funksjonen plasserer vi funksjonene 'rbegin()' og 'rend()' slik at den vil reversere sorteringen og starte fra slutten av verdiene til paret. Den ordner dem i synkende rekkefølge.

Etter sorteringen bruker vi 'cout' for å sende ut vektoren av par etter å ha brukt 'for'-løkken en gang til, og satt inn det første og andre nøkkelordet med 'vector_1[i]' i 'cout'. Det er her paringenes sorterte vektor også skrives ut.

Kode 2:

#include

bruker navneområde std;

int main ( )

{

vektor < par < dere dere > > vektor_1;

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

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

int s = størrelsen på ( first_arr ) / størrelsen av ( first_arr [ 0 ] ) ;

til ( int i = 0 ; Jeg < s; i++ )

vector_1.push_back ( make_pair ( first_arr [ Jeg ] , andre_arr [ Jeg ] ) ) ;

cout << 'Før sortering:' << endl;

til ( int i = 0 ; Jeg < s; i++ ) {

cout << vektor_1 [ Jeg ] .først << ' ' << vektor_1 [ Jeg ] .sekund

<< endl;

}

sortere ( vector_1.rbegin ( ) , vektor_1.rend ( ) ) ;

cout << endl << 'Etter sortering:' << endl;

til ( int i = 0 ; Jeg < s; i++ ) {

cout << vektor_1 [ Jeg ] .først << ' ' << vektor_1 [ Jeg ] .sekund

<< endl;

}

komme tilbake 0 ;

}

Produksjon:

Parenes forhåndssorteringsvektor vises her først, etterfulgt av parenes sorterte vektor som også vises her etter at sorteringsprosessen er brukt på den. Som vi kan se, bestemmer det innledende elementet i hvert par hvordan vektoren av par blir sortert i synkende rekkefølge.

Eksempel 3:

Her lager vi en funksjon av typen 'bool' kalt 'sortBySecElement' for å sortere vektortallene. I denne funksjonen plasserer vi en betingelse, 'verdi1.sekund < verdi2.sekund', som sammenligner de andre verdiene til begge vektorene av par og returnerer tallene.

Deretter blir 'main()' påkalt i det følgende hvor vi lager vektoren av par. Følgende initialiserer to arrays kalt 'new_array1[]' og 'new_aray2[]'. Her setter vi inn verdiene til parene i disse matrisene. Deretter bruker vi 'for'-løkken til å legge inn disse verdiene i vektoren av par. Inne i 'push_back()'-metoden, som hjelper til med å sette inn elementene på slutten av vektoren, er alternativet 'make_pair' som brukes til å lage parobjektet med to verdier fra 'new_array1[]' og 'new_array2[ ]”-matriser.

Vi sender deretter ut vektoren av par ved å bruke en annen 'for'-løkke. Nøkkelordene 'første' og 'andre' settes inn for å få den første og andre verdien av vektoren av par. Ingen sortering utføres på dette stadiet, og parvektoren sendes ut. Vi bruker nå 'sort()'-funksjonen for å sortere den. Begynnelsen og slutten av vektoren av par leveres til 'sort()'-funksjonen i dette tilfellet ved bruk av 'begin()' og 'end()'-funksjonene. Vi plasserer også 'sortBySecElement'-funksjonen som vi tidligere opprettet inne i denne 'sort()'-funksjonen der vi setter mønsteret for sorteringsvektor av par fra det andre elementet i vektoren i stigende rekkefølge.

Nå bruker vi 'for'-løkken igjen. Deretter settes det første og andre nøkkelordet inn med 'new_vec[i]' i 'cout' for å produsere vektoren av par igjen etter sortering. Det er også her den sorterte vektoren til parene i stigende rekkefølge nå skrives ut.

Kode 3:

#include

bruker navneområde std;

bool sortBySecElement ( konstpar < dere dere > & verdi1,

konstpar < dere dere > & verdi2 )

{

komme tilbake ( verdi1.sekund < verdi2.sekund ) ;

}

int main ( )

{

vektor < par < dere dere > > ny_ting

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

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

int verdi = størrelsen på ( ny_arr1 ) / størrelsen av ( ny_arr1 [ 0 ] ) ;

til ( int Jeg = 0 ; Jeg < verdi; i++ )

new_vec.push_back ( make_pair ( ny_arr1 [ Jeg ] ,ny_arr2 [ Jeg ] ) ) ;

cout << 'Før sortering:' << endl ;

til ( int Jeg = 0 ; Jeg < verdi; i++ )

{

cout << ny_ting [ Jeg ] .først << ' '

<< ny_ting [ Jeg ] .sekund << endl;

}

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

cout << endl << 'Etter sortering:' << endl ;

til ( int Jeg = 0 ; Jeg < verdi; i++ )

{

cout << ny_ting [ Jeg ] .først << ' '

<< ny_ting [ Jeg ] .sekund << endl;

}

komme tilbake 0 ;

}

Produksjon:

Her vises den sorterte vektoren av par, og sorteringen gjøres i henhold til de andre verdiene av parene. Det andre elementet av par lagres i stigende rekkefølge og vises her.

Konklusjon

Denne veiledningen handler om 'sorteringsvektoren av par' i C++. Vi utforsket 'vektoren av par' uten å sortere i tillegg til å sortere 'vektoren av par' i stigende og synkende rekkefølge. Vi illustrerte dette med eksemplene der vi sorterer 'vektoren av par' i henhold til det første og andre tallet til disse parene i C++-programmering. Vi lærte at 'sort()'-metoden hjelper til med å gjøre denne sorteringen.