Курс 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. PEP-401: оператор
  2. Срезы в Python
  3. Хеши в Python
  4. Работа с argparse
  5. Создание итератора
  6. Конкатенация строк в Python
  7. Работа с переменными в Python
  8. List Comprehension Tutorial
  9. Конкатенация строк с join() в Python
  10. Оператор «not» в Python
  11. Лямбда-функции для min/max
  12. Python Ellipsis использование
  13. Оператор «моржа» (Walrus Operator)
  14. Удаление ключей из словаря
  15. Очистка списка от False, None, 0, «»
  16. Измерение потребления памяти при сортировке
  17. Генерация случайных чисел в Python
  18. Вывод с переменной через запятую
  19. Создание пользовательской коллекции в Python
  20. Ошибка NotImplemented в Python
  21. Основы работы со списками
  22. globals и locals
  23. Уникальные значения из списка
  24. Объединение словарей в Python
  25. Нахождение пересечения множеств
  26. Логирование в Python
  27. Получение пути к текущему скрипту с помощью os
  28. Нахождение максимального значения и его индекса в списке
  29. Управление браузером с Selenium
  30. Операторы += в Python
  31. Метод сравнения объектов в Python
  32. Изменение IP-адреса в Python
  33. Удаление эмодзи с помощью pandas
  34. Разделение строки на подстроки в Python
  35. Работа с CSV в Python
  36. Enum в Python
  37. Метод setitem в Python
  38. Методы Python для работы с данными
  39. Отрицательные индексы списков
  40. Функция enumerate в Python
  41. Работа с модулем bisect
  42. Удаление элементов из списка в Python
  43. Получение значений из словарей
  44. Эффективная конкатенация строк в Python
  45. Тайное преобразование типа ключа

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