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)