русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Методи insert() та erase()


Дата додавання: 2014-04-22; переглядів: 966.


Ці методи, відповідно, вставляють і видаляють дані при звертанні до довільної позиції контейнера. Їх не рекомендується використовувати з векторами, оскільки при кожній вставці чи видаленні доводиться перекроювати всю структуру – розширювати чи стискати вектор. Тим не менше, коли швидкість не відіграє особливої ролі, використовувати ці методи можна і потрібно. Наступний приклад показує, як це робиться.

#include<iostream>

#include<vector>

#include <conio>

using namespace std;

int main()

{int arr[]={100,110,120,130};

int j;

vector<int>v(arr,arr+4); //ініціалізувати вектор масивом

cout<<"\nPered vstavkou: ";

for(j=0;j<v.size();j++)

cout<<v[j]<<' ';

v.insert(v.begin()+2,115); //вставити 115 в позицію 2

cout<<"\nPisla vstavky: ";

for(j=0;j<v.size();j++)

cout<<v[j]<<' ';

v.erase(v.begin()+2); //видалити елемент з 2-ї позиції

cout<<"\nPisla vydalenna: ";

for(j=0;j<v.size();j++)

cout<<v[j]<<' ';

cout<<endl;

getch();

return 0;

}

 

Програма 15.13

Метод insert() в даній версії має 2 параметри: майбутнє розміщення нового елементу в контейнері і значення елемента. Додаємо 2 позиції до результату виконання методу begin(), щоб перейти до елемента №2 (третій елемент в контейнері, рахуючи від 0). Елементи від точки вставки до кінця контейнера зсовуються, щоб було місце для розміщення вставлювання. Розмір контейнера автоматично збільшується на одиницю.

Метод erase() видаляє елемент з вказаної позиції. Решта елементів зсовується, розмір контейнера зменшується на одиницю.

Результат роботи програми:

 

Списки

Контейнер STL під назвою список являє собою двічі зв’язаний список, в якому кожен елемент містить вказівник на сусіда зліва і справа. Контейнер містить адреси першого і останнього елемента, тому доступ до обох кінців списку здійснюється дуже швидко.

 


<== попередня лекція | наступна лекція ==>
Методи swap(), empty(), back() та pop_back() | Методи push_front(), front() і pop_front()


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн