Для использования списков необходимо подключить заголовочный файл и выбрать область.
#include "list" using namespace std;
Теперь список можно объявлять.
list< int > intList; list< int > intListTest(3); list< int > intListInit(3,1);
Сначала я объявляю просто пустой список способный хранить числа, дальше я указываю, что в списке 3 элемента и в последнем случае я еще и нициализирую этот список числом 1.
Количество элементов определяем функцией size():
cout << intListInit.size() << endl;
Можно проверить список на пустоту.
if (intList.empty()) cout << " int List empty " << endl;
Для вставки можно использовать три метода Insert(), push_back(), push_front().
// testList.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream" #include "list" using namespace std; list< int > intList; list< int > intListTest(3); list< int > intListInit(3,1); void ViewintListInit(); void main() { cout << intListInit.size() << endl; if (intList.empty()) cout << " int List empty " << endl; ViewintListInit(); intListInit.push_back(100); intListInit.push_front(0); intListInit.insert(intListInit.begin(),55); ViewintListInit(); } void ViewintListInit() { copy(intListInit.begin(),intListInit.end(), ostream_iterator< int >(cout," ")); cout << endl; }
Из списка можно удалять элементы равные определенному значению.
intListInit.remove(1); ViewintListInit();
Я немного сумбурно расказываю о списках, и вот по какой причине. Очень многие возможности векторов списков и так далее реализуются через итераторы. А вот про них я и не рассказал. Например, чтобы удалить произвольный элемент списка нужен итератор. Наверно в следующем шаге я остановлюсь на понятии итератор и всё станет проще.