двусторонняя очередь или deque ( произносится «колода» ) — это линейная структура данных, аналогичная очереди. , который позволяет выполнять операции push и pop на обоих концах.
Давайте визуализируем операции push и pop в двухсторонней очереди:
1 из 11
Функции-члены и операторы
1. push_back ()
и push_front()
Обе эти функции принимают один аргумент: элемент, который нужно вставить в дек. Как следует из их названий, первый выталкивает элементы в заднюю часть двухсторонней очереди, а второй — вперед.
2. pop_back ()
и pop_front()
Эти функции не принимают аргументов. Первый выталкивает элементы с задней стороны двухсторонней очереди, а второй — с лицевой.
#include #include с использованием пространства имен std; int main () {deque deck; //deck = [] deck.push_back (1); //deck = [1] deck.push_back (2); //deck = [1, 2] deck.push_front (5); //deck = [5, 1, 2] deck.push_front (6); //deck = [6, 5, 1, 2] deck.pop_back (); //deck = [6, 5, 1] deck.pop_front (); //колода = [5, 1]}
3. front ()
и back()
Эти методы возвращают элементы спереди и сзади двухсторонней очереди. р>
4. at ()
и [pting
Учитывая индекс, эти методы позволяют нам получить доступ к элементу по этому индексу в двухсторонней очереди .
void print_deque (deque deck) {cout