Курс 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. Работа с Path в Python
  2. split() — разделение строки
  3. Сокращение ссылок с pyshorteners
  4. Python: отсутствие точек с запятыми
  5. Работа с CSV файлами в Python
  6. Сравнение строк в Python
  7. Навыки Python: строки, типы данных
  8. Метод setdefault() в Python
  9. Конвертация текстовых чисел с помощью Numerizer
  10. Оператор is в Python
  11. Работа со временем в Python
  12. Блок try-except-else
  13. Хранение данных
  14. Обновление ключей в Python
  15. Форматирование строк в Python
  16. Изменяемые и неизменяемые объекты
  17. Измерение времени выполнения кода
  18. Библиотека Chartify: руководство
  19. Функции any() и all() в Python
  20. Сохранение и загрузка модели в PyTorch
  21. Принципы SRP и OCP
  22. Оператор == в Python
  23. Анонимные функции в Python
  24. Оболочка Python
  25. Цикл for в Python
  26. Поиск с библиотекой Google
  27. Переименование файлов в Python
  28. Beautiful Soup — извлечение данных из HTML
  29. Управление асинхронными задачами на Python.
  30. Настройка вывода NumPy
  31. Быстрый поиск кода
  32. Асинхронное выполнение задач в процессах
  33. Определение наиболее частого элемента с помощью collections.Counter
  34. Упрощение условных выражений с тернарным оператором
  35. Метод getitem для доступа к элементам последовательности
  36. Объединение словарей в Python
  37. Метод classmethod
  38. Подсчет элементов с помощью Counter
  39. Проектирование Singleton с метаклассом
  40. Генерация случайных чисел в Python
  41. Аргумент по умолчанию
  42. Операции с матрицами в Python
  43. Работа с SQLite в Python
  44. Математические функции в Python
  45. Решение переменной Шредингера

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