Sobes.tech
Junior

Proqramlaşdırma kontekstində növbə nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Növbə (Queue) FIFO (First-In, First-Out) prinsipini həyata keçirən abstrakt məlumat növüdür, burada əlavə olunan ilk element ilk çıxarılır.

Əsas əməliyyatlar:

  • Enqueue: Elementi növbənin sonuna əlavə etmək.
  • Dequeue: Elementi növbənin başlanğıcından çıxarmaq.
  • Peek/Front: Növbənin başlanğıcındakı elementin dəyərini onun çıxarılmamasını təmin edərək əldə etmək.
  • IsEmpty: Növbənin boş olub-olmadığını yoxlamaq.
  • Size: Növbədəki cari elementlərin sayını əldə etmək.

İstifadə nümunələri:

  • Əməliyyat sistemlərində tapşırıqları idarə etmək.
  • Veb serverlərdə sorğuları işləmək.
  • Qraf keçid alqoritmləri (BFS - Breadth-First Search).
  • Məlumatların ardıcıl işlənməsi üçün tamponlar.

Tətbiq arraylər və ya əlaqəli siyahılar əsasında ola bilər.

# Python-da siyahı istifadə edərək növbə nümunəsi
class Queue:
    def __init__(self):
        self.items = []

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

    def enqueue(self, item):
        self.items.append(item) # Sonuna əlavə et

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Başından çıxar
        return None

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

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