Sobes.tech
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)