Vektori suurust saab vähendada, kasutades C++ erinevaid sisseehitatud funktsioone. Funktsioon pop_back() on üks neist. Seda kasutatakse vektori tagumise elemendi eemaldamiseks ja vektori suuruse vähendamiseks 1 võrra. Kuid vektori viimast elementi ei eemaldata jäädavalt nagu erase() funktsiooni. Selles õpetuses on selgitatud selle funktsiooni erinevaid kasutusviise.
Süntaks:
vektor :: pop_back ( ) ;Sellel funktsioonil pole argumente ja see ei tagasta midagi.
Eeltingimus:
Enne selle õpetuse näidete kontrollimist peate kontrollima, kas g++ kompilaator on süsteemi installitud või mitte. Kui kasutate Visual Studio koodi, installige käivitatava koodi loomiseks C++ lähtekoodi kompileerimiseks vajalikud laiendused. Siin on C++ koodi kompileerimiseks ja täitmiseks kasutatud Visual Studio Code rakendust. Selle õpetuse järgmises osas on näidatud võimalusi vektori suuruse vähendamiseks funktsiooni pop_back() abil.
Näide-1: eemaldage vektorist mitu elementi
Looge järgmise koodiga C++-fail, et eemaldada vektori konteinerist kaks elementi, vähendades vektori suurust funktsiooni pop_back() abil. Koodis on deklareeritud 5 stringiväärtusega vektor. Funktsiooni pop_back() on siin kaks korda kutsutud, et eemaldada ajutiselt vektorist kaks viimast elementi ja vähendada vektori suurust 2 võrra. Vektori sisu on trükitud kaks korda enne ja pärast funktsiooni pop_back() kasutamist.
//Kaasake vajalikud teegid
#include
#include
kasutades nimeruum std ;
int peamine ( ) {
//Deklareerib stringiväärtuste vektori
vektor < string > lilled = { 'Roos' , 'Lihtsus' , 'Saialill' , 'Tulip' , 'Veelõvi' } ;
cout << 'Vektori väärtused: \n ' ;
//Itereerige vektorit väärtuste printimiseks tsükli abil
jaoks ( int i = 0 ; i < lilled. suurus ( ) ; ++ i )
cout << lilled [ i ] << ' ' ;
cout << ' \n ' ;
//Eemalda vektorist kaks viimast väärtust
lilled. pop_back ( ) ;
lilled. pop_back ( ) ;
cout << ' \n Vektori väärtused pärast eemaldamist: \n ' ;
//Itereerige vektorit väärtuste printimiseks tsükli abil
jaoks ( int i = 0 ; i < lilled. suurus ( ) ; ++ i )
cout << lilled [ i ] << ' ' ;
cout << ' \n ' ;
tagasi 0 ;
}
Väljund:
Pärast ülaltoodud koodi täitmist ilmub järgmine väljund.
Näide 2: Looge teisest vektorist uus vektor
Looge järgmise koodiga C++-fail, et sisestada konkreetsed väärtused teisest vektorist tühja vektorisse, eemaldades elemendid funktsiooni pop_back() abil. Koodis on deklareeritud 8 täisarvust koosnev vektor ja tühi täisarvu tüüpi vektor. Silmust ‘while’ on kasutatud esimese vektori iga elemendi itereerimiseks ja elemendi lisamiseks uude vektorisse, kui arv jagub 2-ga. Siin on arvutatud ka kõigi paarisarvude summa. Funktsioon pop_back() eemaldab tsükli igas iteratsioonis esimese vektori iga elemendi, et jõuda tsükli lõpetamise tingimuseni.
//Kaasake vajalikud teegid
#include
#include
kasutades nimeruum std ;
int peamine ( )
{
//Deklareerib täisarvuliste andmete vektori
vektor < int > intVektor { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Tühja vektori deklareerimine
vektor < int > uusvektor ;
cout << 'Algse vektori väärtused: \n ' ;
//Itereerige vektorit väärtuste printimiseks tsükli abil
jaoks ( int i = 0 ; i < intVektor. suurus ( ) ; ++ i )
cout << intVektor [ i ] << ' ' ;
cout << ' \n ' ;
//Initsialiseeri tulemus
int tulemus = 0 ;
//Itereeri tsüklit, kuni vektor muutub tühjaks
samas ( ! intVektor. tühi ( ) )
{
/*
Leidke paarisarvud, mida uudeVektorisse lisada
ja arvutada paarisarvude summa
*/
kui ( intVektor. tagasi ( ) % 2 == 0 )
{
tulemus + = intVektor. tagasi ( ) ;
uusvektor. lükka tagasi ( intVektor. tagasi ( ) ) ;
}
//Eemaldage element intVactori lõpust
intVektor. pop_back ( ) ;
}
cout << 'Uue vektori väärtused: \n ' ;
//Itereerige vektorit väärtuste printimiseks tsükli abil
jaoks ( int i = 0 ; i < uusvektor. suurus ( ) ; ++ i )
cout << uusvektor [ i ] << ' ' ;
cout << ' \n ' ;
cout << 'Kõigi paarisarvude summa:' << tulemus << ' \n ' ;
tagasi 0 ;
}
Väljund:
Pärast ülaltoodud koodi täitmist ilmub järgmine väljund. Esimeses vektoris oli kolm paarisarvu. Neid on 8, 2 ja 4.
Näide-3: Kontrollige, kas vektori viimane element on eemaldatud või mitte
Varem on mainitud, et pop_back() ei eemalda elemente püsivalt vektorist ja see eemaldab elemendi ainult vektori suurust vähendades. Seega jääb eemaldatud element samasse asendisse, kuni vektori suurus suureneb ja asendab elemendi teise elemendiga. Looge järgmise koodiga C++-fail, et kontrollida, kas funktsiooniga pop_back() eemaldatud element on olemas või mitte. Algse vektori viimane asukoht on trükitud enne ja pärast funktsiooni pop_back() kasutamist.
#include#include
kasutades nimeruum std ;
int peamine ( )
{
//Deklareerib täisarvuliste andmete vektori
vektor < int > intVektor { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Tühja vektori deklareerimine
vektor < int > uusvektor ;
//Deklareerib täisarvulise muutuja
int pikkus ;
//Viimane element prinditakse vektori suuruse alusel
pikkus = intVektor. suurus ( ) ;
cout << 'Vektori praegune suurus:' << pikkus << ' \n ' ;
cout << 'Vektori viimane väärtus enne eemaldamist:' << intVektor [ pikkus - 1 ] << ' \n ' ;
//Eemaldage element vektori lõpust
intVektor. pop_back ( ) ;
//Viimane element printimine vektori suuruse alusel pärast eemaldamist
pikkus = intVektor. suurus ( ) ;
cout << 'Vektori praegune suurus:' << pikkus << ' \n ' ;
cout << 'Vektori viimane väärtus pärast eemaldamist:' << intVektor [ pikkus ] << ' \n ' ;
tagasi 0 ;
}
Väljund:
Pärast ülaltoodud koodi täitmist ilmub järgmine väljund. Väljund näitab, et vektori suurust vähendatakse 1 võrra, kuid algvektori viimase asukoha element on endiselt olemas.
Järeldus:
Selles õpetuses on lihtsate näidete abil kirjeldatud kolme erinevat funktsiooni pop_back() kasutust. Selle funktsiooni kasutamise peamine eesmärk selgub lugejatele pärast selle õpetuse näidete harjutamist.