Величина вектора се може смањити коришћењем различитих уграђених функција Ц++. Функција поп_бацк() је једна од њих. Користи се за уклањање последњег елемента вектора са задње стране и смањење величине вектора за 1. Али последњи елемент вектора се не уклања трајно као функција ерасе(). Различите употребе ове функције су објашњене у овом водичу.
Синтакса:
вектор :: поп_бацк ( ) ;Ова функција нема ниједан аргумент и не враћа ништа.
Предуслов:
Пре него што проверите примере овог упутства, морате да проверите да ли је г++ компајлер инсталиран или не у систему. Ако користите Висуал Студио Цоде, инсталирајте неопходна проширења за компајлирање Ц++ изворног кода за креирање извршног кода. Овде је апликација Висуал Студио Цоде коришћена за компајлирање и извршавање Ц++ кода. Начини смањења величине вектора помоћу функције поп_бацк() приказани су у следећем делу овог упутства.
Пример-1: Уклоните више елемената из вектора
Направите Ц++ датотеку са следећим кодом да бисте уклонили два елемента из векторског контејнера смањењем величине вектора помоћу функције поп_бацк(). Вектор од 5 стринг вредности је декларисан у коду. Функција поп_бацк() је овде позвана два пута да би привремено уклонила два последња елемента из вектора и смањила величину вектора за 2. Садржај вектора је одштампан два пута пре и после употребе функције поп_бацк().
//Укључи неопходне библиотеке
#инцлуде <иостреам>
#инцлуде <вектор>
Користећи именског простора стд ;
инт главни ( ) {
//Декларишемо вектор стринг вредности
вектор < низ > цвеће = { 'ружа' , 'Лити' , 'невен' , 'лале' , 'Водени лав' } ;
цоут << „Вредности вектора: \н ' ;
//Понављање вектора користећи петљу за штампање вредности
за ( инт и = 0 ; и < цвеће. величина ( ) ; ++ и )
цоут << цвеће [ и ] << ' ' ;
цоут << ' \н ' ;
//Уклоните последње две вредности из вектора
цвеће. поп_бацк ( ) ;
цвеће. поп_бацк ( ) ;
цоут << ' \н Вредности вектора након уклањања: \н ' ;
//Понављање вектора користећи петљу за штампање вредности
за ( инт и = 0 ; и < цвеће. величина ( ) ; ++ и )
цоут << цвеће [ и ] << ' ' ;
цоут << ' \н ' ;
повратак 0 ;
}
Излаз:
Следећи излаз ће се појавити након извршавања горњег кода.
Пример-2: Направите нови вектор од другог вектора
Направите Ц++ датотеку са следећим кодом да бисте уметнули одређене вредности у празан вектор из другог вектора уклањањем елемената помоћу функције поп_бацк(). У коду су декларисани вектор од 8 целих бројева и празан вектор целобројног типа. Петља 'вхиле' је коришћена за понављање сваког елемента првог вектора и уметање елемента у нови вектор ако је број дељив са 2. Овде је такође израчунат збир свих парних бројева. Сваки елемент првог вектора ће бити уклоњен помоћу функције поп_бацк() у свакој итерацији петље да би се постигао услов завршетка петље.
//Укључи неопходне библиотеке
#инцлуде <иостреам>
#инцлуде <вектор>
Користећи именског простора стд ;
инт главни ( )
{
//Декларишемо вектор целобројних података
вектор < инт > интВецтор { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//Декларишемо празан вектор
вектор < инт > невВецтор ;
цоут << „Вредности оригиналног вектора: \н ' ;
//Понављање вектора користећи петљу за штампање вредности
за ( инт и = 0 ; и < интВецтор. величина ( ) ; ++ и )
цоут << интВецтор [ и ] << ' ' ;
цоут << ' \н ' ;
//Иницијализујте резултат
инт резултат = 0 ;
//Понављајте петљу док вектор не постане празан
док ( ! интВецтор. празан ( ) )
{
/*
Пронађите парне бројеве које ћете уметнути у нови вектор
и израчунај збир парних бројева
*/
ако ( интВецтор. назад ( ) % 2 == 0 )
{
резултат + = интВецтор. назад ( ) ;
невВецтор. потисне ( интВецтор. назад ( ) ) ;
}
//Уклони елемент са краја интВацтор-а
интВецтор. поп_бацк ( ) ;
}
цоут << „Вредности новог вектора: \н ' ;
//Понављање вектора користећи петљу за штампање вредности
за ( инт и = 0 ; и < невВецтор. величина ( ) ; ++ и )
цоут << невВецтор [ и ] << ' ' ;
цоут << ' \н ' ;
цоут << 'Збир свих парних бројева: ' << резултат << ' \н ' ;
повратак 0 ;
}
Излаз:
Следећи излаз ће се појавити након извршавања горњег кода. У првом вектору су била три парна броја. Има их 8, 2 и 4.
Пример-3: Проверите да ли је последњи елемент вектора уклоњен или не
Раније је поменуто да поп_бацк() не уклања елементе трајно из вектора, већ уклања елемент само смањењем величине вектора. Дакле, уклоњени елемент остаје у истој позицији све док се величина вектора не повећа и замени елемент другим елементом. Направите Ц++ датотеку са следећим кодом да бисте проверили да ли постоји или не елемент који је уклонила функција поп_бацк(). Последња позиција оригиналног вектора је одштампана пре и после коришћења функције поп_бацк().
#инцлуде <иостреам>#инцлуде <вектор>
Користећи именског простора стд ;
инт главни ( )
{
//Декларишемо вектор целобројних података
вектор < инт > интВецтор { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//Декларишемо празан вектор
вектор < инт > невВецтор ;
//Декларишемо целобројну променљиву
инт дужина ;
//Одштампај последњи елемент на основу величине вектора
дужина = интВецтор. величина ( ) ;
цоут << „Тренутна величина вектора:“ << дужина << ' \н ' ;
цоут << „Последња вредност вектора пре уклањања:“ << интВецтор [ дужина - 1 ] << ' \н ' ;
//Уклоните елемент са краја вектора
интВецтор. поп_бацк ( ) ;
//Одштампај последњи елемент на основу величине вектора након уклањања
дужина = интВецтор. величина ( ) ;
цоут << „Тренутна величина вектора:“ << дужина << ' \н ' ;
цоут << „Последња вредност вектора након уклањања:“ << интВецтор [ дужина ] << ' \н ' ;
повратак 0 ;
}
Излаз:
Следећи излаз ће се појавити након извршавања горњег кода. Излаз показује да је величина вектора смањена за 1, али елемент последње позиције оригиналног вектора и даље постоји.
Закључак:
Три различите употребе функције поп_бацк() су описане у овом водичу користећи једноставне примере. Главна сврха коришћења ове функције биће разјашњена за читаоце након што увежбају примере овог упутства.