Bu darsda siz Queue bo'yicha barcha bilimlaringizni bitta amaliy loyihada qo'llaysiz. Vazifa — shifokor qabulxonasi uchun navbat tizimini yaratish.
Senariy: Shifokor qabulxonasida bemorlar keladi va navbatga turadi. Shifokor tayyor bo'lganda, navbatdagi birinchi bemorni chaqiradi. Har bir bemor kelgan tartibda xizmat oladi — bu klassik FIFO (Queue) tamoyili.
Tizim ikkita buyruq bilan ishlaydi:
keldi Ism — yangi bemor navbatga qo'shiladi, unga navbat raqami beriladichaqir — navbatdagi birinchi bemor qabul qilinadiKutilgan natija misoli:
Kirish:
keldi Ali
keldi Vali
chaqir
keldi Soli
chaqirChiqish:
Ali navbatga qo'shildi. Navbat raqami: 1
Vali navbatga qo'shildi. Navbat raqami: 2
Ali qabul qilinmoqda
Soli navbatga qo'shildi. Navbat raqami: 2
Vali qabul qilinmoqdaE'tibor bering: navbat raqami har doim bemorni append() qilgandan keyingi len(navbat) ga teng. Ali chaqirilgach navbatda faqat Vali qoladi; Soli qo'shilgach navbat uzunligi 2 bo'ladi, shuning uchun Soli'ning raqami ham 2.
Ishlatadigan amallar:
append() — enqueue (bemorni qo'shish)pop(0) — dequeue (birinchi bemorni chaqirish)len() — navbat uzunligini bilish (raqam berish uchun)Shifokor qabulxonasi
Dastur yozing:
keldi Ism — bemor navbatga kiradi, raqami chiqariladichaqir — navbatdagi birinchi bemor chaqiriladi