Учебники

Библиотека C ++ — <очередь>

Очередь — это структура данных, предназначенная для работы в контексте FIFO (первым пришел — первым вышел). В очереди элементы вставляются с задней части и удаляются с передней части.

Класс очереди — контейнерный адаптер. Контейнер — это объекты, которые содержат данные одного типа. Очередь может быть создана из разных контейнеров последовательности. Контейнерные адаптеры не поддерживают итераторы, поэтому мы не можем использовать их для манипулирования данными. Однако они поддерживают функции-члены push () и pop () для вставки и удаления данных соответственно.

Определение

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

template <class T, class Container = deque<T> > class queue;

параметры

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

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

  • Контейнер — Тип нижележащего объекта контейнера.

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

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

Контейнер — Тип нижележащего объекта контейнера.

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

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

Sr.No. Типы участников Определение
1 тип ценности T (Первый параметр шаблона)
2 container_type Второй параметр шаблона
3 size_type size_t
4 ссылка тип ценности&
5 const_reference const value_type &
6 difference_type ptrdiff_t

Функции из <очереди>

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

Конструкторы

Sr.No. Метод и описание
1 queue :: queue конструктор по умолчанию

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

2 queue :: queue инициализирует конструктор

Создает объект очереди и назначает внутренний контейнер с помощью копии ctnr .

3 queue :: очередь перемещения конструктор

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

4 очередь :: конструктор копирования очереди

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

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

Создает объект очереди и назначает внутренний контейнер с помощью копии ctnr .

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

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

Destructor

Sr.No. Метод и описание
1 очереди :: ~ очереди

Уничтожает очередь путем освобождения памяти контейнера.

Уничтожает очередь путем освобождения памяти контейнера.

Функции-члены

Sr.No. Метод и описание
1 Очередь :: назад

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

2 Очередь :: устанавливать

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

3 Очередь :: пусто

Проверяет, пуста ли очередь или нет.

4 Очередь :: фронт

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

5 queue :: operator = копия версия

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

6 queue :: operator = переместить версию

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

7 Очередь :: поп

Удаляет передний элемент очереди.

8 очередь :: версия с принудительной копией

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

9 queue :: версия push push

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

10 Очередь :: размер

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

11 Очередь :: своп

Обменивается содержимым очереди с содержимым другой очереди.

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

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

Проверяет, пуста ли очередь или нет.

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

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

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

Удаляет передний элемент очереди.

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

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

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

Обменивается содержимым очереди с содержимым другой очереди.

Не член перегруженные функции

Sr.No. Метод и описание
1 оператор ==

Проверяет, равны ли две очереди или нет.

2 Оператор! =

Проверяет, равны ли две очереди или нет.

3 оператор <

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

4 Оператор <=

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

5 оператор>

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

6 оператор> =

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

7 своп

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

Проверяет, равны ли две очереди или нет.

Проверяет, равны ли две очереди или нет.

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

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

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

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

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

Введение в priority_queue

Очередь приоритетов — это структура данных очереди, которая содержит приоритет. Очередь с приоритетами аналогична структуре данных кучи, где элемент может быть вставлен в любом порядке, и всегда сначала извлекается элемент max heap .

Определение

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

template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;

параметры

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

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

  • Контейнер — тип нижележащего объекта контейнера.

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

    Это может быть указатель на функцию или функциональный объект, который может сравнивать два аргумента.

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

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

Контейнер — тип нижележащего объекта контейнера.

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

Это может быть указатель на функцию или функциональный объект, который может сравнивать два аргумента.

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

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

Sr.No. Типы участников Определение
1 тип ценности T (Первый параметр шаблона)
2 container_type Второй параметр шаблона
3 size_type size_t
4 ссылка тип ценности&
5 const_reference const value_type &
6 difference_type ptrdiff_t

Функции из <очереди>

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

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

Создает объект priority_queue и назначает внутренний контейнер с помощью копии ctnr .

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

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

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

Уничтожает файл priority_queue путем освобождения памяти контейнера.

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

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

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

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

Удаляет передний элемент priority_queue.

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

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

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

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

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

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