Intern
Navbat va stek o'rtasidagi asosiy farq nima?
sobes.tech AI
AIdan javob
Asosiy farq navbat va yığın orasida elementlarga kirish tartibida:
- Navbat (Queue): "Birinchi kelgan, birinchi chiqadi" (FIFO - First-In, First-Out) tamoyili bo'yicha ishlaydi. Elementlar navbat oxiriga qo'shiladi (operatsiya enqueue) va boshidan chiqariladi (operatsiya dequeue).
- Yig'indi (Stack): "So'nggi kelgan, birinchi chiqadi" (LIFO - Last-In, First-Out) tamoyili bo'yicha ishlaydi. Elementlar yuqori qismiga qo'shiladi (operatsiya push) va shuningdek, yuqori qismidan chiqariladi (operatsiya pop).
Navbatni do'konda navbatga o'xshatish mumkin, u yerda birinchi kelgan birinchi xizmat qiladi. Yig'indini esa, oxirgi qo'yilgan plita birinchi olinadigan plita kabi tasavvur qilish mumkin.
Mana taqqoslovchi jadval:
| Xususiyat | Navbat | Yig'indi |
|---|---|---|
| Ishlash tamoyili | FIFO (First-In, First-Out) | LIFO (Last-In, First-Out) |
| Operatsiyalar | enqueue (oxiriga qo'shish), dequeue (boshidan chiqarish) |
push (yuqoriga qo'shish), pop (yuqoridan chiqarish) |
| Qo'shish joyi | Oxir | Yuqori qism |
| O'chirish joyi | Boshi | Yuqori qism |
Qo'llanilish misollari:
- Navbat: operatsiyalarni rejalashtirish, serverda so'rovlarni ishlash, kirish-chiqish bufferlash.
- Yig'indi: funksiyalar chaqiruvlari (chaqiruv yığını), ifodalar sintaktik tahlili, brauzer tarixi.