Курс 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. Преобразование строки в число
  2. Комментарии в Python
  3. Работа с файлами в Python
  4. Преобразование списка в словарь через генератор
  5. Импорт модулей в Python 3.12
  6. Визуализация пропусков данных
  7. Явный импорт в Python
  8. Работа с часовыми поясами в Python.
  9. Новшества Flask 2.0
  10. Модуль inspect
  11. Настройка логгера Logzero
  12. Взаимодействие с sys
  13. Нахождение разницы между списками в Python
  14. Методы HTTP запросов в Flask
  15. Переопределение метода sub
  16. Оптимизация строк в Python
  17. Копирование в Python
  18. Установка пакетов с помощью pip
  19. Переименование файлов в Python
  20. Конкатенация строк с методом join()
  21. Объединение списков с использованием itertools.chain
  22. Управление контекстом выполнения
  23. Переопределение метода __lshift__
  24. Измерение времени выполнения кода с помощью time
  25. Работа со строками в Python.
  26. Colorama: окрашивание текста в Python
  27. Экспорт данных в файл.
  28. Декораторы в Python
  29. Оптимизация гиперпараметров с Scikit Optimize
  30. Операторы Splat и splatty-splat
  31. Хеширование паролей с солью
  32. Участие в LP стейкинге Waves
  33. Применение функции map() с лямбда-функциями
  34. Оператор zip в Python
  35. Обработка исключений
  36. Форматирование строк с помощью f-строк
  37. Сортировка с помощью key
  38. Переопределение метода
  39. Создание и операции с дробями
  40. Работа с PosixPath() в Python
  41. Чтение и запись TOML-конфигов
  42. Логические значения в Python
  43. Иерархия классов в Python
  44. Работа со строками в Python
  45. Итераторы с потерямиZIP

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