Величина вектора се може смањити коришћењем различитих уграђених функција Ц ++. Функција поп_бацк () је једна од њих. Користи се за уклањање последњег елемента вектора са задње стране и смањење величине вектора за 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, али елемент последње позиције оригиналног вектора и даље постоји.
Закључак:
Три различите употребе функције поп_бацк () описане су у овом водичу помоћу једноставних примера. Главна сврха коришћења ове функције биће јасна читаоцима након увежбавања примера овог водича.