Sobes.tech
Junior

Dasturlash kontekstida navbat nima?

sobes.tech AI

AIdan javob

Kuyruk (Queue) FIFO (First-In, First-Out) tamoyilini amalga oshiradigan abstrakt ma'lumot turidir, bunda birinchi qo'shilgan element birinchi chiqariladi.

Asosiy operatsiyalar:

  • Enqueue: Elementni kuyruq oxiriga qo'shish.
  • Dequeue: Elementni kuyruq boshidan chiqarish.
  • Peek/Front: Kuyruq boshidagi elementning qiymatini uning chiqarilmasdan olish.
  • IsEmpty: Kuyruq bo'sh yoki yo'qligini tekshirish.
  • Size: Hozirgi elementlar sonini olish.

Foydalanish misollari:

  • Operatsion tizimlarda vazifalarni boshqarish.
  • Veb-serverlarda so'rovlarni ishlash.
  • Grafni qidirish algoritmlari (BFS - Breadth-First Search).
  • Ma'lumotlarni ketma-ket ishlash uchun bufferlar.

Amalga oshirish arraylar yoki bog'langan ro'yxatlarga asoslangan bo'lishi mumkin.

# Python'da ro'yxatdan foydalanib kuyruq misoli
class Queue:
    def __init__(self):
        self.items = []

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

    def enqueue(self, item):
        self.items.append(item) # Oxiriga qo'shish

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Boshidan chiqarish
        return None

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

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