C++ Lajittele parien vektori

C Lajittele Parien Vektori



C++ tarjoaa mahdollisuuden näyttää parien vektorit ja lajitella parien vektorit. C++:ssa on kontti, jossa on kaksi arvoa, jotka on kartoitettu toisiinsa, ja niitä kutsutaan 'pariksi' ja 'parivektoriksi', joka on vektori, jossa on monia näistä pareista. Lajittelu tarkoittaa tietojen järjestämistä nousevaan tai laskevaan järjestykseen vaatimusten mukaisesti. Täällä opimme lajittelemaan parien vektoreita C++-ohjelmoinnissa. Voimme lajitella parien vektorit sekä nousevaan että laskevaan järjestykseen C++:ssa. Voimme helposti lajitella parien vektorit käyttämällä 'sort()'-menetelmää. Tehdään tässä joitain koodeja parien vektorin lajittelemiseksi.

Esimerkki 1:

Aloitetaan koodi lisäämällä tähän otsikkotiedosto, joka on 'bits/stdc++.h'. Tämän otsikkotiedoston jälkeen meidän ei tarvitse sisällyttää lisää otsikkotiedostoja, koska se sisältää kaikki tarvittavat kirjastot. Sitten lisäämme 'std'-nimiavaruuden ja kutsumme 'main()'-funktiota.







Nyt julistamme 'parien vektorin' nimeltä 'my_vect' ja laitamme tietotyypin 'int', joten näihin pareihin syöttämämme tiedot ovat 'kokonaisluku' -tietotyyppiä. Tämän alapuolella alustamme kaksi taulukkoa nimillä 'my_arr1[]' ja 'my_arr2[]'. Tässä alustamme parien ensimmäisen ja toisen arvon näillä taulukon arvoilla. Sitten käytämme 'for'-silmukkaa syöttämään nämä arvot parien vektoriin. Tässä käytämme 'push_back()'-funktiota, joka auttaa lisäämään arvot vektorin loppuun. Tämän funktion sisään asetamme 'make_pair'-vaihtoehdon, jota käytetään muodostamaan pariobjekti kahdesta arvosta 'my_arr1' ja 'my_arr2'.



Tämän jälkeen tulostetaan parien vektori käyttämällä uudelleen 'for'-silmukkaa. Tässä 'ensimmäinen' ja 'toinen' avainsanat lisätään saadakseen parivektorin ensimmäisen ja toisen arvon. Tämä tulostaa parien vektorin ilman lajittelua tähän. Nyt käytämme 'sort()' -funktiota parien vektorien lajitteluun. Tässä 'begin()'- ja 'end()'-funktioita käytetään, kun parien vektorin alku ja loppu on siirretty tälle 'sort()'-funktiolle.



Lajittelun jälkeen tulostamme parien vektorin uudelleen käyttämällä 'cout'-komentoa ja asetamme ensimmäisen ja toisen avainsanan 'oma_vec[i]'. Nyt myös lajiteltu parien vektori tulostetaan tähän.





Koodi 1:

#include

käyttäen nimiavaruutta std;

int main ( )

{

vektori < pari < sinä, sinä > > my_vect;

int my_arr1 [ ] = { 49 , kaksikymmentä , viisitoista , 56 } ;

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

int num = koko ( my_arr1 ) / koko ( my_arr1 [ 0 ] ) ;

varten ( int i = 0 ; i < onko i++ )

my_vect.push_back ( make_pair ( my_arr1 [ i ] ,my_arr2 [ i ] ) ) ;

cout << 'Ennen parien vektorin lajittelua:' << endl;

varten ( int i = 0 ; i < onko i++ )

{

cout << my_vect [ i ] .ensimmäinen << ' '

<< my_vect [ i ] .toinen << endl;

}

järjestellä ( my_vect.begin ( ) , my_vect.end ( ) ) ;

cout << ' \n Parien lajittelun jälkeen: ' << endl ;

varten ( int i = 0 ; i < onko i++ )

{

cout << my_vect [ i ] .ensimmäinen << ' '

<< my_vect [ i ] .toinen << endl;

}

palata 0 ;

}



Lähtö:

Ensin näytetään parien vektori ennen lajittelua. Sitten käytämme lajittelutekniikkaa tähän parivektoriin. Sitten parien lajiteltu vektori näkyy myös tässä. Näemme, että parien vektori on lajiteltu nousevaan järjestykseen parin ensimmäisen alkion perusteella.

Esimerkki 2:

Tässä esimerkissä luomme nyt 'parien vektorin' nimeltä 'vektori_1' ja määritämme tietotyypin 'int', mikä tarkoittaa, että näihin pareihin syöttämämme tiedot ovat 'kokonaisluku' -tietotyyppiä. Kaksi taulukkoa, joiden nimet ovat “first_arr[]” ja “second_arr[]”, alustetaan seuraavassa. Tässä alustamme näiden taulukoiden arvot ensimmäisen ja toisen parin arvoille.

Seuraavaksi syötämme nämä arvot parien vektoriin käyttämällä 'for' -silmukkaa. 'make_pair'-vaihtoehto, jota käytetään kahden arvon pariobjektin luomiseen 'first_arr[]'- ja 'second_arr[]'-taulukoista, sijoitetaan 'push_back()'-metodiin, joka auttaa lisäämään kohteet vektorin loppu.

Seuraavaksi käytämme 'for' -silmukkaa vielä kerran tulostamaan parien vektorin. Parien vektorin ensimmäisen ja toisen arvon saamiseksi lisätään 'ensimmäinen' ja 'toinen' avainsanat. Tämä tulostaa parivektorin ilman lajittelua tässä vaiheessa. Lajittelemme nyt 'parien vektorin' käyttämällä 'sort()'-funktiota laskevassa järjestyksessä. Tässä funktiossa sijoitamme 'rbegin()'- ja 'rend()'-funktiot, jotta se kääntää lajittelun ja alkaa parin arvojen lopusta. Se järjestää ne laskevaan järjestykseen.

Lajittelun jälkeen käytämme 'cout' tulostamaan parien vektorin sen jälkeen, kun käytämme 'for' -silmukkaa uudelleen ja lisäämme ensimmäisen ja toisen avainsanan 'vektori_1[i]' kohtaan 'cout'. Tälle tulostetaan myös parien lajiteltu vektori.

Koodi 2:

#include

käyttäen nimiavaruutta std;

int main ( )

{

vektori < pari < sinä, sinä > > vektori_1;

int ensimmäinen_sov [ ] = { 77 , 29 , 97 , viisitoista } ;

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

int s = sizeof ( ensimmäinen_arr ) / koko ( ensimmäinen_arr [ 0 ] ) ;

varten ( int i = 0 ; i < s; i++ )

vector_1.push_back ( make_pair ( ensimmäinen_arr [ i ] , toinen_arr [ i ] ) ) ;

cout << 'Ennen lajittelua:' << endl;

varten ( int i = 0 ; i < s; i++ ) {

cout << vektori_1 [ i ] .ensimmäinen << ' ' << vektori_1 [ i ] .toinen

<< endl;

}

järjestellä ( vector_1.rbegin ( ) , vektori_1.rend ( ) ) ;

cout << endl << 'Lajittelun jälkeen:' << endl;

varten ( int i = 0 ; i < s; i++ ) {

cout << vektori_1 [ i ] .ensimmäinen << ' ' << vektori_1 [ i ] .toinen

<< endl;

}

palata 0 ;

}

Lähtö:

Tässä näytetään ensin parien esilajitteluvektori, sen jälkeen parien lajiteltu vektori, joka näkyy myös tässä lajitteluprosessin jälkeen. Kuten näemme, kunkin parin alkuelementti määrittää, kuinka parien vektori lajitellaan laskevaan järjestykseen.

Esimerkki 3:

Täällä luomme 'bool'-tyypin funktion nimeltä 'sortBySecElement' vektorinumeroiden lajittelemiseksi. Tässä funktiossa asetetaan ehto 'arvo1.sekunti < arvo2.sekunti', joka vertaa molempien parien vektorien toisia arvoja ja palauttaa luvut.

Sitten 'main()' kutsutaan seuraavassa, jossa luomme parien vektorin. Seuraava alustaa kaksi taulukkoa nimeltä 'new_array1[]' ja 'new_aray2[]'. Tässä lisäämme näiden taulukoiden parien arvot. Seuraavaksi käytämme 'for'-silmukkaa syöttämään nämä arvot parien vektoriin. 'Push_back()'-menetelmässä, joka auttaa lisäämään alkioita vektorin loppuun, on 'make_pair'-vaihtoehto, jota käytetään luomaan pariobjekti kahdesta arvosta 'new_array1[]' ja 'new_array2[' ]” -taulukoita.

Sitten tulostamme parien vektorin käyttämällä toista 'for'-silmukkaa. 'Ensimmäinen' ja 'toinen' avainsanat lisätään, jotta saadaan parivektorin ensimmäinen ja toinen arvo. Lajittelua ei tehdä tässä vaiheessa ja parivektori tulostetaan. Käytämme nyt lajitteluun 'sort()' -funktiota. Parien vektorin alku ja loppu syötetään 'sort()'-funktiolle tässä tapauksessa 'begin()'- ja 'end()'-funktioiden avulla. Sijoitamme myös aiemmin luomamme 'sortBySecElement' -funktion tähän 'sort()' -funktioon, jossa asetamme parien lajitteluvektorin kuvion vektorin toisesta elementistä nousevassa järjestyksessä.

Nyt käytämme uudelleen 'for'-silmukkaa. Sitten ensimmäinen ja toinen avainsana lisätään 'new_vec[i]'-kenttään 'cout', jotta saadaan parivektori uudelleen lajittelun jälkeen. Tälle tulostetaan nyt myös nousevassa järjestyksessä olevien parien lajiteltu vektori.

Koodi 3:

#include

käyttäen nimiavaruutta std;

bool sortBySecElement ( const pari < sinä, sinä > & arvo1,

const pari < sinä, sinä > & arvo2 )

{

palata ( arvo1.sekunti < arvo2.sekunti ) ;

}

int main ( )

{

vektori < pari < sinä, sinä > > uusi_asia

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

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

int arvo = koko ( uusi_arr1 ) / koko ( uusi_arr1 [ 0 ] ) ;

varten ( int i = 0 ; i < arvo; i++ )

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

cout << 'Ennen lajittelua:' << endl ;

varten ( int i = 0 ; i < arvo; i++ )

{

cout << uusi_asia [ i ] .ensimmäinen << ' '

<< uusi_asia [ i ] .toinen << endl;

}

järjestellä ( new_vec.begin ( ) , new_vec.end ( ) , sortBySecElement ) ;

cout << endl << 'Lajittelun jälkeen:' << endl ;

varten ( int i = 0 ; i < arvo; i++ )

{

cout << uusi_asia [ i ] .ensimmäinen << ' '

<< uusi_asia [ i ] .toinen << endl;

}

palata 0 ;

}

Lähtö:

Tässä näytetään lajiteltu parien vektori, ja lajittelu tapahtuu parien toisten arvojen mukaan. Parien toinen elementti tallennetaan nousevassa järjestyksessä ja näytetään tässä.

Johtopäätös

Tämä opas käsittelee 'parien lajitteluvektoria' C++:ssa. Tutkimme 'parien vektoria' ilman lajittelua sekä lajittelemme 'parien vektoria' nousevaan ja laskevaan järjestykseen. Havainnollistimme tätä esimerkeillä, joissa lajittelemme 'parien vektorit' näiden parien ensimmäisen ja toisen numeron mukaan C++-ohjelmoinnissa. Opimme, että 'sort()' -menetelmä auttaa tässä lajittelussa.