Курс 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. Модуль Antigravity в Python 3
  3. Определение размера папок в Python
  4. Работа с очередями в Python
  5. Быстрый поиск кода
  6. Экспорт данных с помощью writefile
  7. Работа с словарями в Python
  8. Поиск повторов в списке
  9. Функция zip() для объединения списков
  10. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  11. Фильтрация списков с itertools
  12. Работа с модулем Calendar
  13. Строковое представление объектов
  14. 9 уловок для чистого кода
  15. Оптимизация памяти с __slots__
  16. Иерархия классов в Python
  17. Работа со временем в Python
  18. Подписка на @SelectelNews
  19. lru_cache оптимизация функций
  20. Хранение данных
  21. Конвертация коллекций в Python
  22. Работа с f-строками 2.0
  23. Проверка наличия элемента в списке
  24. Деление в Python
  25. Работа с аргументами командной строки
  26. Оператор in для проверки наличия элемента
  27. Установка и использование Virtualenv
  28. Явный импорт в Python
  29. Генераторы в Python
  30. Работа с IP-адресами в Python
  31. Обработка StopIteration в Python
  32. Работа с эмодзи в Python
  33. Функция count() в Python
  34. Преобразование в float
  35. Импорт объектов из модулей
  36. Конкатенация строк с join() в Python
  37. Фильтрация списка от «ложных» значений
  38. Defaultdict в Python
  39. Декораторы классов
  40. Множественное наследование в Python
  41. Работа с прокси в Python
  42. Работа с географическими данными в Python

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