Junior
Mi az a sor, a programozás kontextusában?
sobes.tech MI
Válasz az MI-től
A sor (Queue) egy absztrakt adatszerkezet, amely a FIFO (First-In, First-Out) elvet valósítja meg, ahol az első hozzáadott elem lesz az első eltávolított.
Fő műveletek:
- Enqueue: Egy elem hozzáadása a sor végéhez.
- Dequeue: Egy elem eltávolítása a sor elejéről.
- Peek/Front: Az elem értékének lekérése a sor elején anélkül, hogy eltávolítanánk.
- IsEmpty: Ellenőrizni, hogy a sor üres-e.
- Size: A sor aktuális elemeinek számának lekérése.
Használati példák:
- Feladatkezelés operációs rendszerekben.
- Kérések feldolgozása webszervereken.
- Graflátogatási algoritmusok (BFS - Breadth-First Search).
- Adatfolyamok szekvenciális feldolgozására szolgáló pufferek.
A megvalósítás lehet tömbök vagy láncolt listák alapján.
# Példa sor megvalósítására Python listával
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.append(item) # Hozzáadás a végéhez
def dequeue(self):
if not self.is_empty():
return self.items.pop(0) # Elemek eltávolítása a kezdőből
return None
def peek(self):
if not self.is_empty():
return self.items[0]
return None
def size(self):
return len(self.items)