Назад к вопросам
Junior
72
questionbank

Что такое очередь в контексте программирования?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Очередь (Queue) — это абстрактный тип данных, реализующий принцип FIFO (First-In, First-Out), где первый добавленный элемент будет первым удаленным.

Основные операции:

  • Enqueue: Добавление элемента в конец очереди.
  • Dequeue: Удаление элемента из начала очереди.
  • Peek/Front: Получение значения элемента в начале очереди без его удаления.
  • IsEmpty: Проверка, пуста ли очередь.
  • Size: Получение текущего количества элементов в очереди.

Примеры использования:

  • Управление задачами в операционных системах.
  • Обработка запросов в веб-серверах.
  • Алгоритмы обхода графов (BFS - Breadth-First Search).
  • Буферы для последовательной обработки данных.

Реализация может быть основана на массивах или связных списках.

# Пример реализации очереди с использованием списка в Python
class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.append(item) # Добавляем в конец

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Удаляем из начала
        return None

    def peek(self):
        if not self.is_empty():
            return self.items[0]
        return None

    def size(self):
        return len(self.items)