Sobes.tech
Junior

Kas yra eilė programavimo kontekste?

sobes.tech AI

Atsakymas iš AI

Eilė (Queue) yra abstraktus duomenų tipas, kuris įgyvendina FIFO (First-In, First-Out) principą, kur pirmas pridėtas elementas bus pirmas išimtas.

Pagrindinės operacijos:

  • Enqueue: Elemento pridėjimas į eilės pabaigą.
  • Dequeue: Elemento išėmimas iš eilės pradžios.
  • Peek/Front: Gauti elemento reikšmę eilės pradžioje be jo išėmimo.
  • IsEmpty: Patikrinti, ar eilė yra tuščia.
  • Size: Gauti esamą elementų skaičių eilėje.

Pavyzdžiai:

  • Užduočių valdymas operacinėse sistemose.
  • Užklausų apdorojimas žiniatinklio serveriuose.
  • Grafo apėjimo algoritmai (BFS - Breadth-First Search).
  • Duomenų sekvinė apdorojimo buferiai.

Įgyvendinimas gali būti pagrįstas masyvais arba susietais sąrašais.

# Pavyzdys, kaip įgyvendinti eilę naudojant sąrašą Python
class Queue:
    def __init__(self):
        self.items = []

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

    def enqueue(self, item):
        self.items.append(item) # Pridėti į pabaigą

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Pašalinti iš pradžios
        return None

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

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