Курс Python → Создание класса очереди

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

Пример кода для создания класса очереди:


class Queue:
    def __init__(self):
        self.items = []

    def enqueue(self, item):
        self.items.append(item)

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0)

    def is_empty(self):
        return len(self.items) == 0

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

Пример тестирования работы очереди:


q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)

print(q.dequeue())  # Выведет: 1
print(q.dequeue())  # Выведет: 2

Использование очереди в других проектах может быть полезным, когда необходимо управлять порядком обработки элементов. Например, при реализации алгоритмов поиска в ширину (BFS) или обработке задач в многопоточном приложении. Практика с объектно-ориентированным программированием на примере создания класса очереди поможет вам лучше понять принципы работы структур данных и их применение в реальных проектах.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Объединение списков с помощью zip
  2. Работа с контекстными менеджерами
  3. Разбиение строки в Python
  4. Метод join() для объединения элементов строки
  5. Нахождение максимального значения и его индекса в списке
  6. Утечки переменных цикла в Python 3.x
  7. Работа с defaultdictами в Python
  8. Создание словарей с defaultdict
  9. Зарезервированные слова в Python
  10. Работа с очередями в Python
  11. Управление асинхронными задачами на Python.
  12. Получение списка кортежей из словаря
  13. Переопределение метода __pow__
  14. Поиск индексов подстроки
  15. Округление чисел с помощью round
  16. Работа с изменяемыми списками
  17. Поиск наиболее частого элемента
  18. PrettyTable: создание таблицы
  19. split() без разделителя
  20. Получение размера объекта с sys.getsizeof()
  21. Применение функции к списку
  22. Создание таблиц в Python с PrettyTable
  23. Сериализация и десериализация объектов
  24. Операции с числами в Python
  25. Декораторы классов
  26. Игра «Угадывание чисел»
  27. Функциональное программирование.
  28. Установка и использование Telegram API в Python
  29. Роль object и type в Python
  30. Асинхронное программирование с asyncio
  31. Метод lt для сортировки объектов
  32. Возврат нескольких значений
  33. Класс-оболочка для словарей
  34. Измерение времени выполнения кода
  35. Работа с Telegram API на Python
  36. Декоратор защиты анонимных пользователей
  37. Преобразование в float
  38. Форматирование строк в Python
  39. Переворот списка в Python
  40. Генерация случайных данных в NumPy
  41. Функция print() — вывод информации
  42. Печать в одной строке

Marketello читают маркетологи из крутых компаний