Vektorin kokoa voidaan pienentää käyttämällä erilaisia C++:n sisäänrakennettuja toimintoja. Pop_back()-funktio on yksi niistä. Sitä käytetään poistamaan vektorin viimeinen elementti takaa ja pienentämään vektorin kokoa yhdellä. Mutta vektorin viimeistä elementtiä ei poisteta pysyvästi, kuten erase()-funktio. Tämän toiminnon eri käyttötarkoitukset on selitetty tässä opetusohjelmassa.
Syntaksi:
vektori :: pop_back ( ) ;Tällä funktiolla ei ole argumenttia, eikä se palauta mitään.
Edellytys:
Ennen kuin tarkistat tämän opetusohjelman esimerkkejä, sinun on tarkistettava, onko g++-kääntäjä asennettu järjestelmään vai ei. Jos käytät Visual Studio Codea, asenna tarvittavat laajennukset kääntääksesi C++-lähdekoodin suoritettavan koodin luomiseksi. Tässä Visual Studio Code -sovellusta on käytetty C++-koodin kääntämiseen ja suorittamiseen. Tämän opetusohjelman seuraavassa osassa on esitetty tapoja pienentää vektorin kokoa pop_back()-funktiolla.
Esimerkki 1: Poista useita elementtejä vektorista
Luo C++-tiedosto seuraavalla koodilla poistaaksesi kaksi elementtiä vektorisäiliöstä pienentämällä vektorin kokoa pop_back()-funktiolla. Koodissa on ilmoitettu 5 merkkijonoarvon vektori. Pop_back()-funktiota on kutsuttu kaksi kertaa tässä poistamaan kaksi viimeistä elementtiä vektorista väliaikaisesti ja pienentämään vektorin kokoa kahdella. Vektorin sisältö on painettu kaksi kertaa ennen ja jälkeen pop_back()-funktion käytön.
//Sisällytä tarvittavat kirjastot
#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( ) {
//Ilmoita merkkijonoarvojen vektori
vektori < merkkijono > kukat = { 'Ruusu' , 'Liity' , 'Kehäkukka' , 'Tulppaani' , 'Vesileijona' } ;
cout << 'Vektorin arvot: \n ' ;
//Iteroi vektori silmukalla arvojen tulostamiseksi
varten ( int i = 0 ; i < kukat. koko ( ) ; ++ i )
cout << kukat [ i ] << ' ' ;
cout << ' \n ' ;
//Poista kaksi viimeistä arvoa vektorista
kukat. pop_back ( ) ;
kukat. pop_back ( ) ;
cout << ' \n Vektorin arvot poiston jälkeen: \n ' ;
//Iteroi vektori silmukalla arvojen tulostamiseksi
varten ( int i = 0 ; i < kukat. koko ( ) ; ++ i )
cout << kukat [ i ] << ' ' ;
cout << ' \n ' ;
palata 0 ;
}
Lähtö:
Seuraava tulos tulee näkyviin yllä olevan koodin suorittamisen jälkeen.
Esimerkki 2: Luo uusi vektori toisesta vektorista
Luo C++-tiedosto seuraavalla koodilla lisätäksesi tiettyjä arvoja tyhjään vektoriin toisesta vektorista poistamalla elementit pop_back()-funktiolla. Koodissa on ilmoitettu 8 kokonaisluvun vektori ja tyhjä kokonaislukutyyppinen vektori. 'while'-silmukkaa on käytetty iteroimaan ensimmäisen vektorin jokaista elementtiä ja lisäämään elementti uuteen vektoriin, jos luku on jaollinen kahdella. Tässä on myös laskettu kaikkien parillisten lukujen summa. Pop_back()-funktio poistaa jokaisen ensimmäisen vektorin elementin silmukan jokaisessa iteraatiossa silmukan lopetusehdon saavuttamiseksi.
//Sisällytä tarvittavat kirjastot
#include
#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
//Ilmoita kokonaislukutietojen vektori
vektori < int > intVektor { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Ilmoita tyhjä vektori
vektori < int > uusi vektori ;
cout << 'Alkuperäisen vektorin arvot: \n ' ;
//Iteroi vektori silmukalla arvojen tulostamiseksi
varten ( int i = 0 ; i < intVektor. koko ( ) ; ++ i )
cout << intVektor [ i ] << ' ' ;
cout << ' \n ' ;
//Alusta tulos
int tulos = 0 ;
//Iteroi silmukkaa, kunnes vektori tyhjenee
sillä aikaa ( ! intVektor. tyhjä ( ) )
{
/*
Selvitä parilliset luvut lisättävät uuteenVektoriin
ja laskea parillisten lukujen summa
*/
jos ( intVektor. takaisin ( ) % 2 == 0 )
{
tulos + = intVektor. takaisin ( ) ;
uusi vektori. työnnä takaisin ( intVektor. takaisin ( ) ) ;
}
//Poista elementti intVactorin lopusta
intVektor. pop_back ( ) ;
}
cout << 'Uuden vektorin arvot: \n ' ;
//Iteroi vektori silmukalla arvojen tulostamiseksi
varten ( int i = 0 ; i < uusi vektori. koko ( ) ; ++ i )
cout << uusi vektori [ i ] << ' ' ;
cout << ' \n ' ;
cout << 'Kaikkien parillisten lukujen summa:' << tulos << ' \n ' ;
palata 0 ;
}
Lähtö:
Seuraava tulos tulee näkyviin yllä olevan koodin suorittamisen jälkeen. Ensimmäisessä vektorissa oli kolme parillista lukua. Niitä on 8, 2 ja 4.
Esimerkki-3: Tarkista, onko vektorin viimeinen elementti poistettu vai ei
Aiemmin on mainittu, että pop_back() ei poista elementtejä pysyvästi vektorista, vaan se poistaa elementin pienentämällä vain vektorin kokoa. Eli poistettu elementti pysyy samassa paikassa, kunnes vektorin koko kasvaa ja korvaa elementin toisella elementillä. Luo C++-tiedosto seuraavalla koodilla tarkistaaksesi, onko pop_back()-funktiolla poistettu elementti olemassa vai ei. Alkuperäisen vektorin viimeinen sijainti on tulostettu ennen ja jälkeen pop_back()-funktion käytön.
#include#sisällytä
käyttämällä nimiavaruus std ;
int pää ( )
{
//Ilmoita kokonaislukutietojen vektori
vektori < int > intVektor { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Ilmoita tyhjä vektori
vektori < int > uusi vektori ;
//Ilmoita kokonaislukumuuttuja
int pituus ;
//Tulosta viimeinen elementti vektorin koon perusteella
pituus = intVektor. koko ( ) ;
cout << 'Vektorin nykyinen koko:' << pituus << ' \n ' ;
cout << 'Vektorin viimeinen arvo ennen poistamista:' << intVektor [ pituus - 1 ] << ' \n ' ;
//Poista elementti vektorin lopusta
intVektor. pop_back ( ) ;
//Tulosta viimeinen elementti vektorin koon perusteella poistamisen jälkeen
pituus = intVektor. koko ( ) ;
cout << 'Vektorin nykyinen koko:' << pituus << ' \n ' ;
cout << 'Vektorin viimeinen arvo poistamisen jälkeen:' << intVektor [ pituus ] << ' \n ' ;
palata 0 ;
}
Lähtö:
Seuraava tulos tulee näkyviin yllä olevan koodin suorittamisen jälkeen. Tulos näyttää, että vektorin kokoa pienennetään yhdellä, mutta alkuperäisen vektorin viimeisen sijainnin elementti on edelleen olemassa.
Johtopäätös:
Tässä opetusohjelmassa on kuvattu kolme erilaista pop_back()-funktion käyttöä yksinkertaisten esimerkkien avulla. Tämän toiminnon käytön päätarkoitus selviää lukijoille tämän opetusohjelman esimerkkien harjoittamisen jälkeen.