Курс 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. Работа с YAML в Python: PyYAML.
  4. Работа с кортежами в Python
  5. Работа с каталогами в Python
  6. Конвертация изображений в PDF
  7. Вывод переменной и строки в Python
  8. Настройка Cron
  9. Проверка подстроки в строке
  10. Генераторы по генератору
  11. Импорт модулей и пакетов в Python
  12. Списки в Python: основы
  13. Объединение списков в строку
  14. Перезагрузка оператора в Python
  15. Профилирование кода
  16. Запуск внешних программ с subprocess
  17. Работа с контекстными переменными
  18. Получение частей дроби
  19. Любовь к Python
  20. Нахождение максимального значения и его индекса в списке
  21. Декораторы в Python
  22. Разделение строки с помощью split()
  23. Сортировка элементов в Python
  24. Символ подчеркивания в Python
  25. Методы shutil для работы с файлами
  26. Подписка на каналы разработчиков
  27. Обучение модели с указанием эпох
  28. Определение наиболее частого элемента с помощью collections.Counter
  29. Метод rsub для пользовательских чисел
  30. Python OrderedDict и fromkeys() — работа с словарями
  31. Генератор бросков кубиков
  32. Наиболее частотные элементы с помощью Counter
  33. Документация функции help() в Python
  34. Декоратор Ajax required
  35. Измерение времени выполнения
  36. Добавление вложенных списков
  37. Работа с CSV в Python
  38. Изменение переменной в Python: nonlocal
  39. Декораторы с @wraps
  40. Измерение времени выполнения с помощью time
  41. Оператор in для Python
  42. Ввод нескольких значений
  43. Переворот списка в Python
  44. Шаблоны и наследование в Flask
  45. Основы слова
  46. Работа с типами данных в Python с помощью pydantic.
  47. Операторы увеличения и уменьшения переменной

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