Massiv yordamida navbatlarni yaratish. Yuqorida aytganimizdek, navbatni massiv orqali amalga oshirish mumkin. Odatda, agar dasturchi bunday navbatni yarasa, massiv navbat deb ataladi. Shuningdek, buni massiv deb ham aytish mumkin, ammo massiv so‘zi C++ da bor. Shuning uchun, navbat shablon deb aytish ham mumkin va bir xil tarzda uni chaqiriladi.
Buning uchun 2 ta ko‘shimcha o‘zgaruvchi yaratish kerak. Birinchisi start bo‘lsin va navbatning birinchi elemenitini bildirsin. Ikkinchisi ends bo‘lsin va navbatning oxirgi elemenitini bildirsin.
queue[ends] - ifodasini ishlatib navbatning oxirgi elementini qiymatini qaytaradi. queue[start] - ifodasini ishlatib navbatning oxirgi elementini qiymatini qaytaradi.
Navbatdagi birinchi elementni o‘chirish uchun start ni birga kamaytirish kerak xolos, navbatni bo‘shligini tekshirish uchun start=ends mantiqiy shartni tekshirishning o‘zi kifoyadir. Agar mantiqiy shart true qaytarsa navbat bo‘sh, akas holda bo‘sh emas.
4.6-dastur. Massiv yordamida navbatlardan foydalanish.
// Created by MBBahodir #include "stdafx.h" #include #include using namespace std;
int main() {
//queue q; int q[3]; int start = 0, ends = 0;
for (int h = 0; h < 3; h++) { int a; cin >> a; q[start++] = a;
}
cout << "Navbatdagi birinchi element " << q[start - 1] << endl; start--; // bir elementni oʻchirish
cout << " Navbatdagi birinchi element (oʻchirilgandan soʻng) " << q[start - 1] << endl; cout << " Navbatdagi oxirgi element " << q[ends] << endl;
cout << "Navbat boʻsh " << ((start == ends)?"":" emas ") << endl;
system("pause"); return 0;
}
4.6-dastur.Output
9
7
5
Navbatdagi birinchi element 5
Navbatdagi birinchi element (oʻchirilgandan soʻng) 7 Navbatdagi oxirgi element 9 Navbat boʻsh emas