Курс 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. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  3. ChainMap.new_child() — добавление нового словаря
  4. Создание новых списков в Python
  5. Переопределение метода
  6. Применение функции к списку
  7. Определение имен функций
  8. Добавление элемента в список.
  9. Работа с deque из collections
  10. Конвертация текстовых чисел с помощью Numerizer
  11. Разделение строки в Python
  12. Python enumerate() использование
  13. Декораторы в Python
  14. Работа с эмодзи в Python
  15. Порядок операций в Python
  16. Работа с getopt
  17. Преобразование списка в словарь через генератор
  18. Копирование словарей и списков в Python
  19. PATCH-запрос с библиотекой requests
  20. Оптимизация поиска в словарях
  21. Регулярные выражения в Python
  22. Удаление элемента из списка
  23. Преобразование в float
  24. Переопределение оператора % для объектов
  25. Частичное совпадение пользовательского ввода в Python 3.10
  26. Метод invert для побитового отрицания
  27. Тайное преобразование типа ключа
  28. Структуры данных в Python
  29. Python Метод sleep() времени
  30. Синхронизация доступа к ресурсам
  31. Форматирование данных с помощью pprint
  32. Сравнение строк в Python
  33. Передача параметров в Python
  34. Математические функции в Python
  35. Многострочные строки в Python
  36. Обработка ошибок в Python
  37. Python Метод sleep() из time
  38. Удаление символов новой строки в Python.
  39. %pinfo: получение информации об объекте
  40. Сериализация и десериализация объектов
  41. Python itertools combinations() — группировка элементов
  42. Условные выражения в Python
  43. Искажение имен в Python
  44. Рациональные числа в Python

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