logo

vector::push_back() і vector::pop_back() у C++ STL

Вектори такі ж, як і динамічні масиви, з можливістю автоматично змінювати розмір, коли елемент вставляється або видаляється, а їх зберігання автоматично обробляється контейнером.

вектор::push_back()

Функція push_back() використовується для проштовхування елементів у вектор ззаду. Нове значення вставляється у вектор у кінці, після поточного останнього елемента, а розмір контейнера збільшується на 1.



Синтаксис:

  vectorname.push_back(value)  Parameters : The value to be added in the back is passed as the parameter Result : Adds the value mentioned as the parameter to the back of the vector named as vectorname>

приклади:

 Input: myvector = {1, 2, 3, 4, 5}; myvector.push_back(6); Output: 1, 2, 3, 4, 5, 6 Input: myvector = {5, 4, 3, 2, 1}; myvector.push_back(0); Output: 5, 4, 3, 2, 1, 0>

Помилки та винятки
1. Надійна гарантія виключення – якщо генерується виняток, у контейнері не відбувається жодних змін.
2. Якщо значення, передане як аргумент, не підтримується вектором, він показує невизначену поведінку.



jtextfield

C++






// CPP program to illustrate> // push_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>мійвектор{ 1, 2, 3, 4, 5 };> >myvector.push_back(6);> > >// Vector becomes 1, 2, 3, 4, 5, 6> > >for> (>auto> it = myvector.begin(); it != myvector.end(); ++it)> >cout <<>' '> << *it;> }>

>

весняні петлі
>

Вихід

 1 2 3 4 5 6>
vector::pop_back()()

Функція pop_back() використовується для висунення або видалення елементів із вектора ззаду. Значення видаляється з вектора з кінця, а розмір контейнера зменшується на 1.

Синтаксис:

  vectorname.pop_back()  Parameters : No parameters are passed Result : Removes the value present at the end or back of the given vector named as vectorname>

приклади:

Input : myvector = {1, 2, 3, 4, 5}; myvector.pop_back(); Output :1, 2, 3, 4>
Input : myvector = {5, 4, 3, 2, 1}; myvector.pop_back(); Output :5, 4, 3, 2>

Помилки та винятки

1. Гарантія No-Throw-Guarantee – Якщо контейнер не порожній, функція ніколи не генерує винятки.
2. Якщо вектор порожній, він демонструє невизначену поведінку.

C++




// CPP program to illustrate> // pop_back() function> #include> #include> using> namespace> std;> > int> main()> {> >vector<>int>>мійвектор{ 1, 2, 3, 4, 5 };> >myvector.pop_back();> > >// Vector becomes 1, 2, 3, 4> > >for> (>auto> it = myvector.begin(); it != myvector.end(); ++it)> >cout <<>' '> << *it;> }>

як перевірити розмір екрана

>

>

Вихід

 1 2 3 4>

Pop_back() видаляє значення разом з елементами?

Під час виклику функції pop_back() останній елемент видаляється, значення і елементів є одним і тим же в цьому випадку. Викликається деструктор збереженого об’єкта, і довжина вектора зменшується на 1. Якщо місткість контейнера не зменшується, ви все ще можете отримати доступ до попереднього розташування пам’яті, але в цьому випадку немає сенсу звертатися до вже вилученого. елемент, оскільки це призведе до an невизначена поведінка .

застосування: push_back() і pop_back()

Дано порожній вектор, додайте до нього цілі числа за допомогою функції push_back, а потім обчисліть його розмір.

Input : 1, 2, 3, 4, 5, 6 Output : 6>

Алгоритм

тестування та види програмного забезпечення

1. Додайте елементи до вектора за допомогою функції push_back
2. Перевірте, чи розмір вектора дорівнює 0, якщо ні, збільште змінну лічильника, ініціалізовану як 0, і витягніть елемент back.
3. Повторюйте цей крок, доки розмір вектора не стане рівним 0.
4. Вивести кінцеве значення змінної.

C++




// CPP program to illustrate> // Application of push_back and pop_back function> #include> #include> using> namespace> std;> > int> main()> {> >int> count = 0;> >vector<>int>>мій вектор;> >myvector.push_back(1);> >myvector.push_back(2);> >myvector.push_back(3);> >myvector.push_back(4);> >myvector.push_back(5);> >myvector.push_back(6);> >while> (!myvector.empty()) {> >count++;> >myvector.pop_back();> >}> >cout << count;> >return> 0;> }>

>

>

Вихід

6>

Давайте подивимося на відмінності в табличній формі, як показано нижче:

створення столів з латексу
вектор::push_back() вектор::поп_назад()
Він використовується для додавання нового елемента в кінець вектора. Він використовується для видалення нового елемента в кінці вектора.

Його синтаксис -:

push_back(значення);

Його синтаксис -:

pop_back();

Його параметр — це значення, яке ми хочемо додати в кінець вектора. Він не приймає жодних параметрів.
Він не має жодного типу повернення. Він не має зворотного значення.
Його складність постійна. Його складність постійна.