Програма 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
Пам’ятаймо, що довільний доступ до елементів списку використовувати небажано, оскільки він занадто повільний для нормальної обробки даних. Тому оператор [] для списків навіть не визначений. Якщо б довільний доступ був реалізований, цьому оператору довелося б проходити весь список, переміщаючись від посилання до посилання аж до досягнення потрібного елементу. Це була б дуже повільна операція. Якщо нам потрібний контейнер з довільним доступом, то краще використовувати вектор або черги з двостороннім доступом.
Списки доцільно використовувати при частих опраціях вставки і видалення десь в середині списку. При цих операціях використовувати вектори або черги нелогічно, оскільки всі елементи над точкою вставки чи видалення повинні бути зсунуті. Що ж стосується списків, то при цих операціях достатньо буде поміняти значення всього кількох вказівників.