Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Очередь Python:пример FIFO, LIFO

Что такое очередь Python?

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

Из этого руководства по Python вы узнаете:

Как работает очередь Python?

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

Вот схематическое изображение очереди:

Сзади представляет точку, в которой элементы вставляются в очередь. В этом примере значением для этого является 7.

Фронт представляет точку, в которой элементы из очереди будут удалены. Если вы удалите элемент из очереди, первым элементом, который вы получите, будет 1, как показано на рисунке.

Элемент 1 был первым, который был вставлен в очередь, и при удалении он первым вышел из очереди. Следовательно, очередь называется FIRST IN FIRST OUT (FIFO)

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

Типы очередей в Python

В основном в Python есть два типа очередей:

Установка очереди Python

Работать с очередью в python очень просто. Вот шаги, которые необходимо выполнить, чтобы использовать очередь в своем коде.

Шаг 1) Вам просто нужно импортировать модуль очереди, как показано ниже:

06

Модуль доступен по умолчанию с python, и вам не нужна дополнительная установка, чтобы начать работать с очередью. Существует два типа очереди:FIFO (первым поступил, первым обслужен) и LIFO (последним пришел, первым вышел).

Шаг 2) Для работы с очередью FIFO вызовите класс Queue, используя импортированный модуль очереди, как показано ниже:

15 

Шаг 3) Для работы с очередью LIFO вызовите класс LifoQueue(), как показано ниже:

23

Методы, доступные внутри классов Queue и LifoQueue

Ниже перечислены важные методы, доступные внутри классов Queue и LifoQueue:

  • поместить(элемент): Это поместит элемент в очередь.
  • получить(): Это вернет вам элемент из очереди.
  • пусто(): Он вернет true, если очередь пуста, и false, если элементы присутствуют.
  • qsize(): возвращает размер очереди.
  • полный(): возвращает true, если очередь заполнена, иначе false.

Пример очереди в порядке очереди

В случае "первым пришел - первым вышел" элемент, который идет первым, будет первым и выведенным.

Добавить элемент в очередь

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

Чтобы добавить элемент, вы можете использовать метод put(), как показано в примере:

37

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

45

Вывод:

53

Теперь размер очереди равен 5, и она не займет более 5 элементов, а метод q1.full() вернет true. Добавление дополнительных элементов не приведет к дальнейшему выполнению кода.

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

Чтобы удалить элемент из очереди, вы можете использовать метод get(). Этот метод разрешает элементы из очереди при вызове.

В следующем примере показано, как удалить элемент из очереди.

66

Вывод:

78

Пример очереди «последним пришел – первым вышел»

В случае последнего в первой исходящей очереди элемент, введенный последним, будет отправлен первым.

Для работы с LIFO, т. е. последним в очереди, нам нужно импортировать модуль очереди и использовать метод LifoQueue().

Добавить элемент в очередь

Здесь мы поймем, как добавить элемент в очередь LIFO.

84

Вы должны использовать метод put() в LifoQueue, как показано в приведенном выше примере.

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

Чтобы удалить элемент из очереди LIFO, вы можете использовать метод get() .

94

Вывод:

102

Добавить более 1 элемента в очередь

В приведенных выше примерах мы видели, как добавить один элемент и удалить элемент для очереди FIFO и LIFO. Теперь мы увидим, как добавить более одного элемента, а также удалить его.

Добавить элемент в очередь FIFO

119

Удалить элемент из очереди FIFO

124

Вывод:

139

Добавить элемент в очередь LIFO

141

Удалить элемент из очереди LIFO

154

Вывод:

160

Очередь сортировки

В следующем примере показана сортировка в очереди. Для сортировки используется пузырьковая сортировка.

174

Вывод:

181

Реверсивная очередь

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

В следующем примере показано, как перевернуть очередь.

Пример:

192

Вывод:

207

Обзор:

  • Очередь — это контейнер, в котором хранятся данные. Существует два типа очереди:FIFO и LIFO.
  • Для FIFO (первым поступил – первым обслужен) элемент, который идет первым, будет первым, кто выйдет из очереди.
  • Для LIFO (очередь "последним вошел - первым вышел") элемент, введенный последним, будет отправлен первым.
  • Элемент в очередь добавляется с помощью метода put(item).
  • Для удаления элемента используется метод get().

Python

  1. Операторы Python
  2. Словарь Питона
  3. Функция Python String strip() с ПРИМЕРОМ
  4. Длина строки Python | Пример метода len()
  5. Учебное пособие по доходности в Python:генератор и пример доходности и возврата
  6. Счетчик Python в коллекциях с примером
  7. Функция Enumerate() в Python:цикл, кортеж, строка (пример)
  8. Python time.sleep():добавьте задержку в свой код (пример)
  9. Индекс списка Python() с примером
  10. FIFO против LIFO:различия, преимущества и недостатки, приложения и многое другое