Библиотека STL (Standart Template Library) - Списки

ОГЛАВЛЕНИЕ

Списки

Для использования списков необходимо подключить заголовочный файл и выбрать область.

#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();

Я немного сумбурно расказываю о списках, и вот по какой причине. Очень многие возможности векторов списков и так далее реализуются через итераторы. А вот про них я и не рассказал. Например, чтобы удалить произвольный элемент списка нужен итератор. Наверно в следующем шаге я остановлюсь на понятии итератор и всё станет проще.