Junior
Какво е опашка в контекста на програмирането?
sobes.tech AI
Отговор от 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)