Очереди обычно раздражают в реальной жизни, но в компьютерной программе они могут решить многие проблемы. Узнайте, что можно сделать с очередью и как.

Очередь — это универсальная структура данных, которую можно использовать в различных условиях. От алгоритмов планирования ЦП до веб-приложений — он встречается повсюду.

Если вы стремитесь стать разработчиком Python, очень важно быстро освоить эту простую, но вездесущую структуру данных. Давайте узнаем, что такое структура данных очереди и как ее реализовать в Python.

Что такое структура данных очереди?

Кредит изображения: Википедия

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

Вот основные операции, которые вы можете выполнять с очередью:

  • Enqueue: добавить элементы в очередь.
  • Dequeue: удаление элементов из очереди.
  • Печать: печать элементов в очереди.
  • Впереди: получить элемент в начале очереди.
  • Задний: получить элемент в конце очереди.

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

Как реализовать структуру данных очереди в Python

Вы будете реализовывать очередь, используя контейнер списка в Python. Начните с объявления пустого списка с именем очередь.

очередь = []

Теперь вам нужно принять пользовательский ввод и выполнить операцию, введенную пользователем. Сначала распечатайте строку, предлагающую пользователю ввести команду. Затем дождитесь ввода пользователя и сохраните его в команда переменная.

С использованием Операторы Python, если, выполните операцию, соответствующую введенной пользователем команде. Если они вводят нераспознанную команду, закройте программу. Поместите эти операции внутрь бесконечного пока цикл чтобы убедиться, что программа продолжает работать, пока они не прекратят работу.

покаИстинный:
команда = ввод("Что ты хочешь делать? ")

если команда == "ставить в очередь":
# код
Элиф команда == "удалить из очереди":
# код
еще:
перерыв

очередь печати)

поставить в очередь

Теперь, когда вы разобрались с основным потоком управления программой, вы можете определить блок кода для каждой операции. Во-первых, напишите код для постановки в очередь. Enqueue означает вставить элемент в конец очереди. Вы можете сделать это с помощью добавить() метод:

есликоманда == "ставить в очередь":
поставить в очередь = инт(вход("Введите элемент в очередь: "))

Удалить из очереди

Теперь напишите код для удаления элемента из очереди. Вы можете сделать это, используя метод pop с 0 в качестве индекса. Почему? Как вы узнали ранее, очередь следует порядку FIFO, поэтому первый элемент, который вы ставите в очередь, должен быть первым элементом, который вы удаляете из очереди.

если команда == "удалить из очереди":
очередь.поп(0)

Передний

Двигаясь дальше, напишите код для печати элемента в начале очереди. Просто распечатайте 0-й индекс очереди.

если команда == "передний":
очередь печати[0])

Задний

Подобно коду для передней операции, для выполнения задней операции распечатайте элемент в последнем индексе. Для этого сначала используйте функцию len() в очереди, а затем вычтите из нее 1, чтобы найти последний индекс.

если команда == "задний":
печать (очередь[len (очередь) - 1])

Распечатать

Наконец, напишите код для команды печати. Просто распечатайте список, используя стандартный Python Распечатать() функция.

если команда == "Распечатать":
очередь печати)

Если текст, который вводит пользователь, не соответствует поддерживаемой команде, прервите цикл while с помощью оператора break. Окончательный код должен выглядеть так:

очередь = []

покаИстинный:
команда = ввод("Что ты хочешь сделать?\n")

если команда == "ставить в очередь":
поставить в очередь = int (ввод("Введите элемент в очередь: "))
queue.append (ставить в очередь)
Элиф команда == "удалить из очереди":
очередь.поп(0)
Элиф команда == "Распечатать":
очередь печати)
Элиф команда == "передний":
очередь печати[0])
Элиф команда == "задний":
печать (очередь[длина (очередь)-1])
еще:
перерыв

очередь печати)

Запустите программу, чтобы опробовать различные операции с очередью. Используйте команду печати, чтобы увидеть, как они влияют на вашу очередь. Вы создали собственную простую реализацию очереди на Python.

Очередь — это всего лишь одна из многих полезных структур данных

Концепция структуры данных является жизненно важной, которую должен освоить каждый студент, изучающий информатику. Скорее всего, вы уже изучили или работали с некоторыми базовыми структурами данных, такими как массивы или списки.

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