queue :: front () и queue :: back () в C ++ STL

Опубликовано: 31 Декабря, 2021


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

очередь :: фронт ()

Эта функция используется для ссылки на первый или самый старый элемент контейнера очереди. Эта функция может использоваться для выборки первого элемента очереди.

Синтаксис:

queuename .front ()
Параметры:
Значение не требуется для передачи в качестве параметра.
Возврат:
Прямая ссылка на первый элемент контейнера очереди.

Примеры:

Ввод: myqueue = 1, 2, 3
          myqueue.front ();
Выход: 1

Ввод: myqueue = 3, 4, 1, 7, 3
          myqueue.front ();
Выход: 3

Ошибки и исключения

  1. Если контейнер очереди пуст, это вызывает неопределенное поведение
  2. У него нет гарантии исключения исключения, если очередь не пуста.

Выход:

3
очередь :: назад ()

Эта функция используется для ссылки на последний или самый новый элемент контейнера очереди. Эта функция может использоваться для извлечения первого элемента из задней части очереди.

Синтаксис:

queuename .back ()
Параметры:
Значение не требуется для передачи в качестве параметра.
Возврат:
Прямая ссылка на последний элемент контейнера очереди.

Примеры:

Ввод: myqueue = 1, 2, 3
          myqueue.back ();
Выход: 3

Ввод: myqueue = 3, 4, 1, 7, 3
          myqueue.back ();
Выход: 3

Ошибки и исключения

  1. Если контейнер очереди пуст, это вызывает неопределенное поведение
  2. У него нет гарантии исключения исключения, если очередь не пуста.
// CPP program to illustrate
// Implementation of back() function
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue< int > myqueue;
myqueue.push(3);
myqueue.push(4);
myqueue.push(1);
myqueue.push(7);
// Queue becomes 3, 4, 1, 7
cout << myqueue.back();
return 0;
}

Выход:

7

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

Ввод: 1, 2, 3, 4, 5, 6, 7, 8
Выход: 7
Пояснение - последний элемент = 8, первый элемент = 1, разница = 7

Алгоритм
1. Добавьте числа в очередь с помощью функции push ().
2. Сравните первый и последний элемент.
3. Если первый элемент больше, вычтите из него последний элемент и распечатайте его.
4. Иначе вычтите первый элемент из последнего и распечатайте его.

// CPP program to illustrate
// application Of front() and back() function
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue< int > myqueue;
myqueue.push(8);
myqueue.push(7);
myqueue.push(6);
myqueue.push(5);
myqueue.push(4);
myqueue.push(3);
myqueue.push(2);
myqueue.push(1);
// Queue becomes 1, 2, 3, 4, 5, 6, 7, 8
if (myqueue.front() > myqueue.back()) {
cout << myqueue.front() - myqueue.back();
}
else if (myqueue.front() < myqueue.back()) {
cout << myqueue.back() - myqueue.front();
}
else
cout << "0" ;
}

Выход:

7
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++