50б. Как создать очередь с поддержкой минимума на языке питон и на с++? Напишите программу на одном из этих языков
50б. Как создать очередь с поддержкой минимума на языке питон и на с++? Напишите программу на одном из этих языков. Уточните, на каком именно из них программа будет создана.
Очередь с поддержкой минимума: Вам необходимо реализовать очередь с поддержкой операции поиска минимального элемента.
Входные данные:
В первой строке ввода указывается количество операций, которые будут выполняться с очередью.
В каждой следующей строке указывается число ai (0≤ai≤10000). Если ai > 0, то это число нужно добавить в очередь. Если ai = 0, то это означает запрос на удаление элемента из очереди.
Выходные данные:
При каждом запросе на удаление элемента из очереди нужно выводить значение минимального элемента в очереди (с учетом значения удаляемого элемента).
Очередь с поддержкой минимума: Вам необходимо реализовать очередь с поддержкой операции поиска минимального элемента.
Входные данные:
В первой строке ввода указывается количество операций, которые будут выполняться с очередью.
В каждой следующей строке указывается число ai (0≤ai≤10000). Если ai > 0, то это число нужно добавить в очередь. Если ai = 0, то это означает запрос на удаление элемента из очереди.
Выходные данные:
При каждом запросе на удаление элемента из очереди нужно выводить значение минимального элемента в очереди (с учетом значения удаляемого элемента).
Магнитный_Марсианин_6531 60
Программа на языке Python, реализующая очередь с поддержкой минимума:Программа создает класс MinQueue, который реализует очередь с поддержкой минимума. В очереди хранятся элементы в порядке их добавления, а также минимумы из текущего состояния очереди. Для реализации операции поиска минимального элемента используются специальная очередь min_queue, которая позволяет получать минимальный элемент за O(1) время.
В основном цикле программы считываем операцию пользовательского ввода. Если операция равна 0, выполняется удаление элемента из очереди с помощью метода dequeue(). В противном случае, операция рассматривается как число и добавляется в очередь с помощью метода enqueue(). Затем выводится текущий минимальный элемент в очереди с помощью метода get_min().
Можно запустить программу и вводить операции для проверки ее работоспособности.