Курс 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. Создание виртуальной среды
  2. Оператор «моржа» (Walrus Operator)
  3. Методы работы со строками в Python
  4. Создание объекта timedelta
  5. Работа с модулем os в Python
  6. Оператор обр. импликации
  7. Замыкания в Python
  8. Инициализация объекта
  9. Возврат нескольких значений
  10. Оценка точности модели
  11. Избегайте использования goto
  12. Библиотека Chartify: руководство
  13. Удаление дубликатов из списка
  14. Уникальность ключей в словаре
  15. Создание GUI с Tkinter: Entry
  16. Определение объема памяти объекта
  17. Методы __repr__ и __str__ в Python
  18. Обработка исключений в Python
  19. Библиотека Rich: форматирование текста
  20. Solidity для DeFi Ethereum
  21. Использование эмодзи в Python
  22. Избегайте пустого списка
  23. Переворот списка в Python
  24. Оператор space-invader
  25. Работа с контекст-менеджером «with»
  26. Парсинг статей с Newspaper3k
  27. Избегайте ошибку FileNotFoundError
  28. Форматирование данных с pprint
  29. Функция eval() в Python
  30. Лямбда-функции в defaultdict
  31. Удаление дубликатов с помощью множеств
  32. Просмотр файла в Jupyter Noteboo
  33. Расчет времени выполнения программы
  34. Оформление кода по PEP 8
  35. Возврат нескольких значений из функции
  36. Удаление элемента из списка в Python
  37. Генераторы списков в Python
  38. Принципы Zen of Python
  39. Операторы увеличения и уменьшения в Python
  40. Создание именованных кортежей в Python
  41. Преобразование числа в список цифр
  42. Генератор надежных паролей
  43. Цикл for с enumerate() в Python
  44. Форматирование строк в Python
  45. Создание Radio кнопок в tkinter
  46. Namedtuple в Python
  47. Метод rsub для пользовательских чисел
  48. Очистка строки в Python
  49. Работа с файлами в Python

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