Курс 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. GitHub в Telegram: подписка на уведомления
  2. Работа с NumPy
  3. Работа с модулем Calendar
  4. Подсчет элементов в Python
  5. Принципы программирования
  6. Создание namedtuple из словаря
  7. Метод __int__ в Python
  8. Оператор морж в Python 3.8
  9. Проверка списка: any() и all()
  10. Подписка на Kaspersky Team
  11. Метод invert для побитового отрицания
  12. Создание обратного итератора
  13. Определение наиболее частого элемента с помощью collections.Counter
  14. Поиск уникальных и повторяющихся элементов
  15. Реверс строки в Python
  16. Компиляция регулярных выражений
  17. Метод join() для объединения строк
  18. Работа со строками в Python
  19. Генераторы данных
  20. Методы сравнения множеств
  21. Изучение объектов с помощью dir()
  22. Метод __complex__ в Python
  23. Работа с утверждениями в Python
  24. Красивый вывод списка
  25. Передача словаря через **kwargs
  26. Переопределение метода __lshift__
  27. Анализ кода — Python
  28. Типы возвращаемых значений в Python
  29. Обмен значений переменных в Python
  30. Извлечение статей с newspaper3k
  31. Генераторы в Python
  32. Работа с файлами в Python
  33. Операции с числами в Python
  34. Открытие и запись файлов
  35. Подсчет вхождений элементов
  36. Поиск индекса элемента
  37. Добавление элементов в список
  38. Получение локальных переменных в Python
  39. Оптимизация создания строк
  40. Изменяемые и неизменяемые объекты
  41. Удаление специальных символов с помощью re.sub
  42. Python reversed() vs срез[::-1]
  43. Метод index() в Python
  44. Параллельные вычисления в Python
  45. Вычисление фазы комплексного числа
  46. Оператор assert в Python

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