Библиотека 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();
Я немного сумбурно расказываю о списках, и вот по какой причине. Очень многие возможности векторов списков и так далее реализуются через итераторы. А вот про них я и не рассказал. Например, чтобы удалить произвольный элемент списка нужен итератор. Наверно в следующем шаге я остановлюсь на понятии итератор и всё станет проще.