Учебники

Библиотека C ++ — <список>

Список — это популярный контейнер последовательностей. Контейнер — это объект, который содержит данные того же типа. Контейнер списка реализован в виде двунаправленного списка, следовательно, он обеспечивает двунаправленный последовательный доступ к своим данным.

Список не обеспечивает быстрый произвольный доступ, он поддерживает только последовательный доступ в обоих направлениях. Список позволяет операции вставки и удаления в любом месте последовательности в постоянное время.

Элементы списка могут быть разбросаны по разным частям памяти. Контейнер хранит необходимую информацию, чтобы обеспечить последовательный доступ к его данным. Списки могут сжиматься или расширяться по мере необходимости с обоих концов во время выполнения. Требование к памяти автоматически выполняется внутренним распределителем.

Списки нулевого размера также действительны. В этом случае list.begin () и list.end () указывают на одно и то же местоположение. Но поведение вызова front () или back () не определено.

Определение

Ниже приведено определение std :: list из заголовочного файла <list>

template < class T, class Alloc = allocator<T> > class list;

параметры

  • T — Тип содержащегося элемента.

    T может быть заменен любым другим типом данных, включая определенный пользователем тип.

  • Alloc — Тип объекта-распределителя.

    По умолчанию используется шаблон класса распределителя, который определяет простейшую модель выделения памяти и не зависит от значения.

T — Тип содержащегося элемента.

T может быть заменен любым другим типом данных, включая определенный пользователем тип.

Alloc — Тип объекта-распределителя.

По умолчанию используется шаблон класса распределителя, который определяет простейшую модель выделения памяти и не зависит от значения.

Типы участников

Следующие типы элементов могут использоваться в качестве параметров или типа возврата функциями-членами.

Sr.No. Типы участников Определение
1 тип ценности T (Первый параметр шаблона)
2 allocator_type Alloc (Второй параметр шаблона)
3 ссылка тип ценности&
4 const_reference const value_type &
5 указатель тип ценности*
6 const_pointer const value_type *
7 итератор итератор произвольного доступа к value_type
8 const_iterator итератор с произвольным доступом к const value_type
9 reverse_iterator std :: reverse_iterator <итератор>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 size_type size_t
12 difference_type ptrdiff_t

Функции из <списка>

Ниже приведен список всех методов из заголовка <list>.

Создает пустой список с нулевыми элементами.

Создает новый список из n элементов и присваивает значение val каждому элементу списка.

Создает новый список из n элементов и присваивает нулевое значение каждому элементу списка.

Создает список с таким количеством элементов, как в диапазоне от первого до последнего .

Создает список с копией каждого элемента, присутствующего в существующем списке.

Создает список с содержимым других, используя семантику перемещения.

Создает список с содержимым других, используя семантику перемещения.

Уничтожает объект списка, освобождая его память.

Назначает новое значение списку, заменяя старые.

Присваивает новые значения списку, заменяя старые.

Присваивает новые значения списку, заменяя старые.

Возвращает ссылку на последний элемент списка.

Возвращает итератор произвольного доступа, который указывает на первый элемент списка.

Возвращает постоянный итератор произвольного доступа, который указывает на начало списка.

Возвращает постоянный итератор произвольного доступа, который указывает на конец списка.

Уничтожает список, удаляя все элементы из списка, и устанавливает размер списка равным нулю.

Возвращает постоянный обратный итератор, который указывает на последний элемент списка.

Возвращает постоянный обратный итератор, который указывает на теоретический элемент, предшествующий первому элементу в списке.

Расширяет список, вставляя новый элемент в заданную позицию.

Вставляет новый элемент в конец списка и увеличивает размер списка на единицу.

Вставляет новый элемент в начало списка и увеличивает размер списка на единицу.

Проверяет, является ли список пустым или нет.

Возвращает итератор произвольного доступа, который указывает на последний элемент списка.

Удаляет один элемент из списка.

Удаляет диапазон элемента из списка.

Возвращает ссылку на первый элемент списка.

Возвращает распределитель, связанный со списком

Расширяет итератор, вставляя новый элемент в позицию в списке.

Расширяет список, вставляя новые элементы в контейнер.

Расширяет список, вставляя новые элементы в контейнер.

Расширяет список, вставляя новый элемент в контейнер.

Расширяет список, вставляя новые элементы в контейнер

Возвращает максимальное количество элементов, которые могут храниться в списке.

Объединяет два отсортированных списка в один.

Объединяет два отсортированных списка в один.

Объединяет два отсортированных списка в один, используя семантику перемещения.

Объединяет два отсортированных списка в один, используя семантику перемещения.

Назначает новое содержимое в список, заменяя старые.

Назначьте новое содержимое в список, заменив старые.

Назначьте новое содержимое в список, заменив старые.

Удаляет последний элемент из списка.

Удаляет первый элемент из списка.

Вставляет новый элемент в конец списка.

Вставляет новый элемент в конец списка.

Вставляет новый элемент в начале списка.

Вставляет новый элемент в начале списка.

Возвращает обратный итератор, который указывает на последний элемент списка.

удаляет элемент (ы) из списка, который соответствует значению.

удаляет элементы из списка, которые удовлетворяют условию.

Возвращает обратный итератор, который указывает на обратный конец списка.

Изменяет размер списка.

Изменяет размер списка.

Меняет порядок элементов, представленных в списке.

Возвращает количество элементов, присутствующих в списке.

Сортирует элементы списка.

Сортирует элементы списка.

Переводит все элементы из списка в * this.

Переводит элемент, на который указывает итератор i, из списка x в * this .

Передает все элементы из списка x в * this с помощью семантики перемещения.

Переводит элементы в диапазоне от первого до последнего от x до * this .

Передает элемент, на который указывает итератор i из списка x, в * this с помощью семантики перемещения.

Передает элементы в диапазоне от первого до последнего от x до * this , используя семантику перемещения.

Обменивается содержимым списка с содержимым другого списка x .

Удаляет все последовательные повторяющиеся элементы из списка.

Удаляет все последовательные повторяющиеся элементы из списка.

Проверяет, равны ли два списка или нет.

Проверяет, равны ли два списка или нет.

Проверяет, меньше ли первый список, чем другие, или нет.

Проверяет, является ли первый список меньше или равен другому или нет.

Проверяет, является ли первый список больше других или нет.

Проверяет, является ли первый список больше или равен другому или нет.

Обменяет содержимое двух списков.