Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <queue>
- #include <string>
- #include <sstream>
- #include <locale.h>
- using namespace std;
- ///////////////////////////////////////////////////////////////////////////
- int main()
- {
- setlocale(LC_ALL, "rus");
- // Приоритетная очередь (по умолчанию
- priority_queue<int> pq; // максимальный элемент наверху)
- int n; // Ввод количества чисел
- cout << "Введите количество операций: "; cin >> n;
- cin.ignore(); // Игнорируем оставшийся символ новой строки
- for (int i = 0; i < n; ++i) // Обработка команд
- {
- string command;
- cout << "Введите команду (Insert <число>): ";
- getline(cin, command);
- stringstream ss(command); // Разбор команды
- string action;
- int value;
- ss >> action;
- if(action == "ExtractMax")
- {
- cout << pq.top() << " " << endl; // Печатаем верхний элемент
- pq.pop(); // Удаляем верхний элемент
- }
- else
- {
- if(action == "Insert")
- {
- ss >> value;
- pq.push(value); // Добавляем число в очередь
- cout << "Добавлено: " << value << endl;
- } else {
- cout << "Неизвестная команда: " << action << endl;
- }
- }
- }
- // Вывод содержимого очереди
- cout << "Содержимое приоритетной очереди (от большего к меньшему):" << endl;
- while (!pq.empty())
- {
- cout << pq.top() << " "; // Печатаем верхний элемент
- pq.pop(); // Удаляем верхний элемент
- }
- cout << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement