Курс 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. Работа со временем в Python
  3. Получение текущей даты и времени
  4. Работа с collections.Counter
  5. Счетчик в Python: most_common()
  6. Копирование словарей и списков в Python
  7. Сортировка слиянием
  8. Курс Data Scientist в медицине
  9. Функция zip() — объединение последовательностей
  10. Нахождение максимального значения и его индекса в списке
  11. Метод setdefault() в Python
  12. Обновление множества в Python
  13. Метод __iand__ для пользовательских классов
  14. Декораторы с аргументами в Python
  15. Генераторы в Python
  16. Форматирование строк в Python
  17. Работа с файлами и директориями в Python.
  18. Многострочные строки в Python
  19. Визуализация пропусков данных
  20. Python: Фильтрация списков с помощью filter()
  21. Преобразование в float
  22. Проблемы с dict в Python
  23. Метод округления чисел
  24. Подсчет частотности элементов в Python
  25. Обработка элементов в Python
  26. Метод __ilshift__ для битового сдвига влево
  27. Декораторы в Python
  28. Декоратор total_ordering для класса Point
  29. Работа с модулем random
  30. Обмен значений переменных в Python
  31. Парсинг веб-страниц с Beautiful Soup
  32. Counter() — подсчет элементов
  33. Аргумент по умолчанию
  34. Оптимизация памяти с __slots__
  35. Работа с enumerate()
  36. Правила именования переменных
  37. Перетасовка списков в Python
  38. Модуль xkcd: загрузка комиксов
  39. Логирование с Loguru
  40. Работа с часовыми поясами в Python.
  41. Управление фоновыми задачами в Python
  42. Переопределение метода delitem в Python
  43. Изменение списка срезом
  44. Объединение списков в строку
  45. Функции map() и reduce() в Python

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