Курс 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. Экспорт функций в Python
  2. Функция __init__ в Python
  3. Хэш-функции и метод цепочек
  4. Именованные срезы в Python
  5. Логирование в Python
  6. Генераторы в Python
  7. Перезагрузка оператора в Python
  8. Подсчет часто встречающихся элементов
  9. Работа с модулем random
  10. Работа с кортежами
  11. Базовые объекты Python
  12. Работа с набором данных CIFAR10 в PyTorch
  13. Удаление элементов из списка в Python.
  14. Метод Self в Python
  15. Добавление вложенных списков
  16. Замыкания в Python
  17. Работа с парами ключ-значение
  18. Функция zip() в Python
  19. Генерация тестовых данных с factory_boy
  20. Аннотации типов в Python
  21. Метод __float__ в Python
  22. Вызов функций по строке в Python.
  23. Оператор is в Python
  24. Оптимизация создания строк
  25. EMOT преобразование эмодзи в текст
  26. Многострочные комментарии в Python
  27. Переопределение метода __and__
  28. Работа с модулем cmath
  29. inspect в Python: анализ кода
  30. Генераторы в Python
  31. Метод split() для разделения строк
  32. Декораторы в Python
  33. Эффективная конкатенация строк с использованием join()
  34. Преобразование документов в PDF с помощью Spire.Office
  35. Функция product() из itertools
  36. Удаление falsy-значений из списка с помощью filter
  37. Создание виртуальной среды
  38. Создание комплексных чисел
  39. SciPy: широкий функционал для математических операций
  40. Многоточие в Python
  41. Поток данных в Python
  42. Обновление ключей в Python
  43. Различия символов в Python

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