queue :: front () и queue :: back () в C ++ STL
Очередь - это тип контейнерных адаптеров, которые работают по принципу «первым пришел - первым обслужен» (FIFO). Элементы вставляются сзади (в конце) и удаляются спереди.
Эта функция используется для ссылки на первый или самый старый элемент контейнера очереди. Эта функция может использоваться для выборки первого элемента очереди.
Синтаксис:
queuename .front () Параметры: Значение не требуется для передачи в качестве параметра. Возврат: Прямая ссылка на первый элемент контейнера очереди.
Примеры:
Ввод: myqueue = 1, 2, 3 myqueue.front (); Выход: 1 Ввод: myqueue = 3, 4, 1, 7, 3 myqueue.front (); Выход: 3
Ошибки и исключения
- Если контейнер очереди пуст, это вызывает неопределенное поведение
- У него нет гарантии исключения исключения, если очередь не пуста.
Выход:
3
Эта функция используется для ссылки на последний или самый новый элемент контейнера очереди. Эта функция может использоваться для извлечения первого элемента из задней части очереди.
Синтаксис:
queuename .back () Параметры: Значение не требуется для передачи в качестве параметра. Возврат: Прямая ссылка на последний элемент контейнера очереди.
Примеры:
Ввод: myqueue = 1, 2, 3 myqueue.back (); Выход: 3 Ввод: myqueue = 3, 4, 1, 7, 3 myqueue.back (); Выход: 3
Ошибки и исключения
- Если контейнер очереди пуст, это вызывает неопределенное поведение
- У него нет гарантии исключения исключения, если очередь не пуста.
// 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