06. STL. LIST

STL. LIST

По сути list реализует двусвязные списки, позволяя быстро добавлять и удалять элементы без копирования всего массива данных.

Для работы необходимо подключить библиотеку
#include <list>
List входит в пространство имен std, поэтому или пишем std:: или используем пространство имен using namespace std;

У итератора листа нет возможности произвольного доступа, нужно идти по каждому элементу.

    list myList;
    list myList={1,2,3};
    list myList(10,2);

    myList.push_back(2);     //добавить элемент в конец списка
    myList.push_front(1);    //добавить элемент в начало списка

    myList.pop_back();      //удалить элемент из конца списка
    myList.pop_front();     //удалить элемент из начала списка

    myList.size(); //кол-во элементов
    myList.clear(); //очистка листа 

    //Добавление и удаление элементов
    auto iter=myList.begin(); //итератор на 0 элемент
    advance(iter,1);
    myList.insert(iter,15); //как 1 элемент вставляем число 15

    advance(iter,1);
    myList.erase(iter); //удалить элемент.
    
    
    myList.sort(); //сортировка элементов по возрастанию
    myList.unique(); //удаляет ПОСЛЕДОВАТЕЛЬНЫЕ дубликаты в списке т.е. 3,1,2,3,3,4 станет 3,1,2,3,4
    myList.reverse(); //меняет порядок элементов в коллекции 1,2,3 станет 3,2,1
    myList.remove(5); //поиск по коллекции и удаление числа 5
    myList.assign(3,15); //удаляет предыдущий лист и создает новый размером 3 и заполненный числами 15
    myList.assign(myList2.begin(),myList2.end()); //создает в контейнере myList копию myList2 (удаляет старый лист и создает новый-копию)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *