Navbat(queue)
Download 31 Kb.
|
Dasturlash 1-darajali 48-savol
Ustuvor navbat (ing. priority queue)- bu mavhum ma'lumotlarning turi bo'lib, ular odatdagi navbat yoki ustunlar singari ma'lumotlar tuzilmasiga ega, ammo bundan tashqari har bir element u bilan bog'liq bo'lgan "ustuvorlik" ga ega. Ustuvorlik navbatida yuqori ustuvorlik past ustuvor elementdan oldin beriladi. Ba'zi bir amaliy dasturlarda, agar ikkita element bir xil ustuvorlikka ega bo'lsa, ular navbatga qo'yilgan tartibda xizmat qiladi, boshqa tartibga solishda esa xuddi shu ustuvor elementlarning tartibi aniqlanmagan. Ko'pincha ustuvor navbatlar ko'pincha uyum bilan amalga oshirilsa ham, ular kontseptual ravishda uyumlardan farq qiladi. Vazifalarning ustuvor yo'nalishi - "ro'yxat qilish" yoki "karta" kabi mavhum tushuncha; Ro'yxat bog'langan ro'yxat yoki massiv yordamida bajarilishi mumkinligi singari, ustuvorlik navbatini bir qator yoki boshqa usullar bilan amalga oshirish mumkin, masalan tartibsiz qator. Navbat(queue) - bu ma'lumotlar to'plamini o'z ichiga olgan mavhum ma'lumotlarning tuzilishi. Navbatda FIFO mexanizmi, ya'ni avval kiritilgan element o'chiriladi. Boshqacha qilib aytganda, eng oxirgi qo’shilgan element birinchi navbatda olib tashlanadi. Demak Navbat(queue) va Ustuvor navbat(priority queue) ning asosiy farqlaridan biri Navbatda elementlat qanday tartibda kiritilsa shunday joylashadi. Ustuvor navbatda esa elementlar qanday kiritilishidan qat’i nazar tartiblangan holatda joylashadi. Misol:
//Navbat(queue) #include #include using namespace std; int main() { queue qu.push(1); qu.push(3); qu.push(8); qu.push(2); qu.push(7); for(int i=0; i<5; i++) { cout << qu.front() << " "; qu.pop(); } } Natija: 1 3 8 2 7 Misol:
//Ustuvor navbat(priority queue) #include #include using namespace std; int main() { priority_queue qu.push(1); qu.push(3); qu.push(8); qu.push(2); qu.push(7); for(int i=0; i<5; i++) { cout << qu.top() << " "; qu.pop(); }
Natija: 8 7 3 2 1 Download 31 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling