Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab4_anis_saod.docx
Скачиваний:
2
Добавлен:
14.09.2019
Размер:
61.72 Кб
Скачать

Int menu () {

short key = -1;

cout << "1. Добавить элементы\n";

cout << "2. Просмотр стека\n";

cout << "3. Количество элементов в стеке\n";

cout << "0. Выход \n";

cout << "Индекс пункта: ";

cin >> key;

while (key<0 || key>3) {

cout << "Неверный ввод, выберите пункт заново: ";

cin >> key;

}

cout << "\n";

return key;

}

Очередь — структура данных с дисциплиной доступа к элементам «первый пришёл — первый вышел» (FIFO, First In — First Out). Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.

Основные функции для работы с очередями в С++:

queue <тип данных> qu;

qu.empty() – проверка на пустоту очереди

qu.size() – размер очереди

qu.front() – доступ к первому элементу

qu.back() – доступ к последнему элементу

qu.push() – вставка элемента

qu.pop() – удаление элемента

#include <iostream>

#include <queue>

#include <cstdlib>

using namespace std;

int menu ();

int main () {

setlocale (LC_ALL, "Russian");

queue <int> qu;

short br=0;

int element, i, num;

while (br!=1) {

short key = menu();

switch (key) {

case 1: cout << "\nВведите количество элементов, которое требуется добавить: ";

cin >> num;

cout << "Введите элементы: ";

for (i=0; i<num; i++) {

cin >> element;

qu.push(element);

}

cout << "\n\n";

system("pause");

system("cls");

break;

case 2: cout << "\nЭлементы очереди: ";

if (qu.empty()) cout << "Очередь пуста."; else

while (!qu.empty()) {

cout << " " << qu.front();

qu.pop();

}

cout << "\n\n";

system("pause");

system("cls");

break;

case 3: if (qu.empty())

cout << "\n\n*** Очередь пуста ***\n\n";

else

cout << "\n\nКоличество элементов в очереди: " << qu.size() << "\n\n";

system("pause");

system("cls");

break;

case 4: if (qu.empty())

cout << "\n\n*** Очередь пуста ***\n\n";

else {

cout << "\n\nПервый элемент очереди: " << qu.front() << "\n";

cout << "Последний элемент очереди: " << qu.back() << "\n\n";

}

system("pause");

system("cls");

break;

case 0: br=1; break;

}

}

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]