C++ giver mulighed for at vise vektoren af par og sortere vektoren af par. Der er en beholder i C++, der indeholder to værdier, der er afbildet til hinanden, kaldet et 'par' og en 'vektor af par', som er en vektor, der har mange af disse par i sig. Sortering betyder at arrangere dataene i stigende eller faldende rækkefølge i henhold til kravene. Her vil vi lære, hvordan man sorterer vektoren af par i C++-programmering. Vi kan sortere vektoren af par i både 'stigende' og 'faldende' orden i C++. Vi kan nemt sortere vektoren af par ved at bruge 'sort()'-metoden. Lad os lave nogle koder her for at sortere vektoren af par.
Eksempel 1:
Lad os begynde koden med at inkludere header-filen her, som er 'bits/stdc++.h'. Efter at have haft denne header-fil, behøver vi ikke at inkludere flere header-filer, da den indeholder alle de nødvendige biblioteker. Derefter tilføjer vi 'std'-navnerummet og kalder 'main()'-funktionen.
Nu erklærer vi en 'vektor af par' ved navn 'my_vect' og sætter datatypen 'int', så de data, vi indtaster i disse par, er datatypen 'heltal'. Herunder initialiserer vi to arrays med navnene 'my_arr1[]' og 'my_arr2[]'. Her initialiserer vi parrenes første og anden værdi med disse matrixværdier. Derefter bruger vi 'for'-løkken til at indtaste disse værdier i vektoren af par. Her bruger vi funktionen 'push_back()', som hjælper med at indsætte værdierne i slutningen af vektoren. Inde i denne funktion placerer vi 'make_pair'-indstillingen, som bruges til at konstruere parobjektet med to værdier af 'my_arr1' og 'my_arr2'.
Herefter udskriver vi vektoren af par ved at bruge 'for'-løkken igen. Her tilføjes nøgleordet 'første' og 'andet' for at få den første og anden værdi af vektoren af par. Dette udskriver vektoren af par uden at sortere her. Nu bruger vi funktionen 'sort()' til at sortere vektoren af par. Her bruges funktionerne 'begin()' og 'end()' som passerer starten og slutningen af vektoren af par til denne 'sort()'-funktion.
Efter sortering udskriver vi vektoren af par igen ved at bruge 'cout' og placerer det første og andet nøgleord med 'my_vec[i]'. Nu er den sorterede vektor af par også udskrevet her.
Kode 1:
#includebruger navneområde std;
int main ( )
{
vektor < par < dig dig > > min_vect;
int min_arr1 [ ] = { 49 , tyve , femten , 56 } ;
int min_arr2 [ ] = { 37 , tyve , 90 , 55 } ;
int num = størrelse på ( min_arr1 ) / størrelse af ( min_arr1 [ 0 ] ) ;
til ( int jeg = 0 ; jeg < om i++ )
my_vect.push_back ( make_pair ( min_arr1 [ jeg ] ,min_arr2 [ jeg ] ) ) ;
cout << 'Før sortering af vektor af par: ' << endl;
til ( int jeg = 0 ; jeg < om i++ )
{
cout << min_vect [ jeg ] .først << ' '
<< min_vect [ jeg ] .anden << endl;
}
sortere ( my_vect.begin ( ) , my_vect.end ( ) ) ;
cout << ' \n Efter sortering af vektor af par: ' << endl ;
til ( int jeg = 0 ; jeg < om i++ )
{
cout << min_vect [ jeg ] .først << ' '
<< min_vect [ jeg ] .anden << endl;
}
Vend tilbage 0 ;
}
Produktion:
Vektoren af par før sortering vises først. Derefter anvender vi sorteringsteknikken på denne vektor af par. Så vises den sorterede vektor af par også her. Vi kan se, at vektoren af par er sorteret i stigende rækkefølge baseret på det første element i parret.
Eksempel 2:
I dette eksempel opretter vi nu en 'vektor af par' kaldet 'vektor_1' og tildeler datatypen 'int', hvilket betyder, at den information, vi indtaster i disse par, er af datatypen 'heltal'. To arrays med navnene 'first_arr[]' og 'second_arr[]' initialiseres i det følgende. Her initialiserer vi disse arrays værdier for det første og andet pars værdier.
Dernæst indtaster vi disse værdier i vektoren af par ved hjælp af 'for'-løkken. Indstillingen 'make_pair', som bruges til at generere parobjektet med to værdier fra 'first_arr[]' og 'second_arr[]' arrays, er placeret inde i 'push_back()' metoden, som hjælper med at indsætte elementerne ved slutningen af vektoren.
Dernæst bruger vi 'for'-løkken endnu en gang til at udlæse vektoren af par. For at opnå den første og anden værdi af vektoren af par, indsættes nøgleordene 'første' og 'andet'. Dette udsender parvektoren uden nogen sortering på dette tidspunkt. Vi sorterer nu 'vektoren af par' ved at bruge en 'sort()'-funktion i faldende rækkefølge. I denne funktion placerer vi funktionerne 'rbegin()' og 'rend()', så det vil vende sorteringen og starte fra slutningen af parrets værdier. Den arrangerer dem i faldende rækkefølge.
Efter sorteringen bruger vi 'cout' til at udlæse vektoren af par efter at have brugt 'for'-løkken endnu en gang ved at indsætte det første og andet nøgleord med 'vector_1[i]' i 'cout'. Det er her, parringernes sorterede vektor også udskrives.
Kode 2:
#includebruger navneområde std;
int main ( )
{
vektor < par < dig dig > > vektor_1;
int first_arr [ ] = { 77 , 29 , 97 , femten } ;
int anden_arr [ ] = { 35 , 89 , 64 , 25 } ;
int s = størrelse af ( første_arr ) / størrelse af ( første_arr [ 0 ] ) ;
til ( int i = 0 ; jeg < s; i++ )
vector_1.push_back ( make_pair ( første_arr [ jeg ] , anden_arr [ jeg ] ) ) ;
cout << 'Før sortering:' << endl;
til ( int i = 0 ; jeg < s; i++ ) {
cout << vektor_1 [ jeg ] .først << ' ' << vektor_1 [ jeg ] .anden
<< endl;
}
sortere ( vektor_1.rbegin ( ) , vektor_1.rend ( ) ) ;
cout << endl << 'Efter sortering:' << endl;
til ( int i = 0 ; jeg < s; i++ ) {
cout << vektor_1 [ jeg ] .først << ' ' << vektor_1 [ jeg ] .anden
<< endl;
}
Vend tilbage 0 ;
}
Produktion:
Parrenes forsorteringsvektor vises her først, efterfulgt af parrenes sorterede vektor, som ligeledes vises her, efter at sorteringsprocessen er anvendt på den. Som vi kan se, bestemmer det indledende element i hvert par, hvordan vektoren af par sorteres i faldende rækkefølge.
Eksempel 3:
Her opretter vi en funktion af typen 'bool' ved navn 'sortBySecElement' for at sortere vektornumrene. I denne funktion placerer vi en betingelse, 'værdi1.sekund < værdi2.sekund', som sammenligner den anden værdi af begge vektorer af par og returnerer tallene.
Derefter kaldes 'main()' i det følgende, hvor vi opretter vektoren af par. Det følgende initialiserer to arrays med navnet 'new_array1[]' og 'new_aray2[]'. Her indsætter vi værdierne af par i disse arrays. Dernæst bruger vi 'for'-løkken til at indtaste disse værdier i vektoren af par. Inde i 'push_back()'-metoden, som hjælper med at indsætte elementerne i slutningen af vektoren, er 'make_pair'-indstillingen, som bruges til at skabe parobjektet med to værdier fra 'new_array1[]' og 'new_array2[ ]” arrays.
Vi udsender derefter vektoren af par ved hjælp af en anden 'for'-løkke. De 'første' og 'andet' nøgleord indsættes for at få den første og anden værdi af vektoren af par. Der udføres ingen sortering på dette trin, og parvektoren udsendes. Vi bruger nu 'sort()'-funktionen til at sortere den. Begyndelsen og slutningen af vektoren af par leveres til 'sort()'-funktionen i dette tilfælde via brugen af 'begin()' og 'end()'-funktionerne. Vi placerer også funktionen 'sortBySecElement', som vi tidligere har oprettet i denne 'sort()'-funktion, hvor vi sætter mønsteret for sorteringsvektor af par fra det andet element i vektoren i stigende rækkefølge.
Nu bruger vi 'for'-løkken igen. Derefter indsættes det første og andet nøgleord med 'new_vec[i]' i 'cout' for at producere vektoren af par igen efter sortering. Det er også her den sorterede vektor af parrene i stigende rækkefølge nu udskrives.
Kode 3:
#includebruger navneområde std;
bool sortBySecElement ( konst par < dig dig > & værdi1,
konst par < dig dig > & værdi2 )
{
Vend tilbage ( værdi1.sekund < værdi2.sekund ) ;
}
int main ( )
{
vektor < par < dig dig > > ny_ting
int new_arr1 [ ] = { 3. 4 , 29 , 65 , 48 } ;
int new_arr2 [ ] = { 67 , 19 , 54 , 7 } ;
int værdi = størrelse på ( ny_arr1 ) / størrelse på ( ny_arr1 [ 0 ] ) ;
til ( int jeg = 0 ; jeg < værdi; i++ )
new_vec.push_back ( make_pair ( ny_arr1 [ jeg ] ,ny_arr2 [ jeg ] ) ) ;
cout << 'Før sortering:' << endl ;
til ( int jeg = 0 ; jeg < værdi; i++ )
{
cout << ny_ting [ jeg ] .først << ' '
<< ny_ting [ jeg ] .anden << endl;
}
sortere ( new_vec.begin ( ) , new_vec.end ( ) , sortBySecElement ) ;
cout << endl << 'Efter sortering:' << endl ;
til ( int jeg = 0 ; jeg < værdi; i++ )
{
cout << ny_ting [ jeg ] .først << ' '
<< ny_ting [ jeg ] .anden << endl;
}
Vend tilbage 0 ;
}
Produktion:
Her vises den sorterede vektor af par, og sorteringen sker i henhold til parrenes anden værdi. Det andet element af par gemmes i stigende rækkefølge og vises her.
Konklusion
Denne guide handler om 'sorteringsvektoren af par' i C++. Vi udforskede 'vektoren af par' uden at sortere såvel som at sortere 'vektoren af par' i stigende og faldende rækkefølge. Vi illustrerede dette med eksemplerne, hvor vi sorterer 'vektoren af par' efter det første og andet nummer af disse par i C++ programmering. Vi lærte, at 'sort()'-metoden hjælper med at udføre denne sortering.