русс | укр

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

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


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


Методи push_front(), front() і pop_front()


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


Програма 15.14 демонструє вставку, читання і видобування даних

#include<iostream>

#include<conio>

#include<list>

using namespace std;

int main()

{list <int> ilist;

ilist.push_back(30);//вставка елементу в кінець

ilist.push_back(40);

ilist.push_front(20);//вставка елементу в кінець

ilist.push_front(10);

int size=ilist.size();//число елементів

cout<<"size="<<size<<endl;

for (int j=0;j<size;j++)

{cout<<ilist.front()<<" "; //читати дані

//з початку

ilist.pop_front();//видобування даних з початку

}

cout<<endl;

getch();

return 0;

}

 

Програма 15.14

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

В ході роботи програми ми вставляємо дані в кінець і початок списку таким чином, щоб при виведенні на екран і видаленні з початку зберігався такий їх порядок: 10 20 30 40

Пам’ятаймо, що довільний доступ до елементів списку використовувати небажано, оскільки він занадто повільний для нормальної обробки даних. Тому оператор [] для списків навіть не визначений. Якщо б довільний доступ був реалізований, цьому оператору довелося б проходити весь список, переміщаючись від посилання до посилання аж до досягнення потрібного елементу. Це була б дуже повільна операція. Якщо нам потрібний контейнер з довільним доступом, то краще використовувати вектор або черги з двостороннім доступом.

Списки доцільно використовувати при частих опраціях вставки і видалення десь в середині списку. При цих операціях використовувати вектори або черги нелогічно, оскільки всі елементи над точкою вставки чи видалення повинні бути зсунуті. Що ж стосується списків, то при цих операціях достатньо буде поміняти значення всього кількох вказівників.


<== попередня лекція | наступна лекція ==>
Методи insert() та erase() | Методи reverse(), merge() іunique()


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