Курс 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. Метод get для словаря
  2. Defaultdict в Python
  3. Проверка подстроки в строке с помощью in
  4. Работа с кортежами в Python
  5. Лимиты на ресурсы Python
  6. Удаление эмодзи с помощью pandas
  7. Хешируемые ключи в Python
  8. Получение частей дроби
  9. Глобальные переменные в Python
  10. Метод ifloordiv для пользовательских классов
  11. Непрерывная проверка в Python
  12. Декораторы в Python
  13. Удаление ключа из словаря
  14. Работа с файлами в Python
  15. Проверка версии Python
  16. Измерение времени выполнения кода
  17. Отправка POST запроса на сервер.
  18. Многострочные строки в Python
  19. Работа с типами данных в Python с помощью pydantic.
  20. Конкатенация строк в Python
  21. Метод is_absolute() для PurePath
  22. Особенности множеств в Python
  23. Преобразование числа в восьмеричную строку
  24. Декораторы в Python
  25. Метод getitem для доступа к элементам последовательности
  26. Обновление данных через PUT запрос
  27. Очистка списка от False, None, 0, «»
  28. Список переменных в Python
  29. Преобразование текста в речь с Python
  30. Методы сравнения множеств
  31. Метод join() для объединения элементов строки
  32. Импорт классов из другого файла
  33. Поиск индексов подстроки
  34. Функция с *args.
  35. Метод rename() для переименования файлов и каталогов
  36. Работа с словарями в Python
  37. Декораторы в Python
  38. Обработка ошибок ввода данных
  39. Метод join() с набором
  40. Использование defaultdict в Python
  41. Обработка ошибки IndexError
  42. Логирование с Logzero
  43. Транспонирование 2D-массива с помощью zip
  44. Избегание изменяемых аргументов
  45. Перевод эмодзи и эмотиконов.
  46. Оператор морж в Python 3.8

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