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