#include #include using namespace std;
int main()
{
queueq;
//navbatga uchta element qo'shish
q.push("Assalomu ");
q.push("alaykum ");
q.push("ustoz");
//navbatdan 2 ta elemntni chiqarish va o'chirish
cout<q.pop();
cout<q.pop();
//2 ta element qo'shish
q.push("Volaykum ");
q.push("salom ");
//1ta element o'chirish
q.pop();
//2ta elementni chiqarish va o'chirish
cout<q.pop();
cout<q.pop();
//Navbatning elementlar miqdorini chiqarish
cout<<"navbatdagi elementlar soni: "<
}
Dasturning bajarilish natijasi quyidagiday bo’ladi:
Assalomu alaykum Volaykum salom
navbatdagi elementlar soni: 0
#include
#include using namespace std;
int main() {
queue q;
cout << "7 ta butun son kiriting: " << endl;
for (int h = 0; h < 7; h++) {
int a;
cin >> a;
q.push(a); // elementlarni navbatga qo'shish
}
cout << endl;
cout << "Navbatdagi birinchi element: " << q.front() << endl; // birinchisini ko'rsatish
//navbat elementi
q.pop(); // elementni navbatdan olib tashlash
cout << "Yangi birinchi element (o'chirilgandan so'ng): " << q.front() << endl;
system("pause");
return 0;
}
Dastur natijasi:
7 ta butun son kiriting:
6
4
5
1
3
4
7
Navbatdagi birinchi element: 6
Yangi birinchi element(o’chirilgandan so’ng): 4
Navbat bo’sh emas!
Operatsiyalar
Navbat ::queue()
Sukutlikda konstruktor.
Bo’sh navbatni yasaydi.
explicit navbat ::queue (const Container& cont)
cont elementlari bilan initsializatsiya qilingan navbatni yaratadi.
Cont barcha elemetlari navbatga nusxalanadi. size_type navbat: :size () const()
Joriy elementlarning sonini qaytaradi.
Navbatdagi yo'q bo’lgan elementlarni tekshirish uchun empty() funktsiyasidan foydalanish tavsiya etiladi, chunki u tezroq ishlashi mumkin.
bool navbat ::empty() const
Navbatning bo’shligini tekshiradi.
Ekvivalent (lekin tezroq ishlashi mumkin):
Navbat::size()==0
void navbat::push (const value_type& elem) n navbat elem parametri elementlari nusxasini qo’yadi, natijada u yangi oxirgi elementga aylanadi.
value_type& ochered :: front()
const value_type& navbat :: front() const
Ikkala shakllar navbatdagi elementni qaytaradi, ya'ni birinchi navbatda kiritilgan element (navbatdagi boshqa elementlardan keyin).
Chaqirishdan oldin, navbat kamida bitta elementni (size()> 0) o'z ichiga olishi kerak, aks holda chaqiruv kutilmagan holatga olib keladi.
Nokonstant navbatlar uchun birinchi shakli murojaatni qaytaradi, bu navbatdagi elementni o'zgartirishga imkon beradi. Bunisi yaxshimi yoki yo'qmi, o'zingni tanlang.
Ikkala shakllar navbatdagi oxirgi elementni qaytaradi, ya'ni so’nggi navbatda kiritilgan element (navbatdagi boshqa elementlardan keyin).
Chaqirishdan oldin, navbat kamida bitta elementni (size()> 0) o'z ichiga olishi kerak, aks holda chaqiruv kutilmagan holatga olib keladi.
Nokonstant navbatlar uchun birinchi shakl murojaatni qaytaradi, bu navbatdagi oxirgi elementni o'zgartirishga imkon beradi. Bunisi yaxshimi yoki yo'qmi, o'zingni tanlang.
void navbat :: pop()
navbatdan navbatdagi elementni, ya'ni birinchi bo'lib kiritilgan elementni (navbatning barcha elementlaridan oldin) o'chiradi.
Funktsiyaning qaytish qiymati yo'q. Yuqori elementning qiymatini qayta ishlash uchun avvalo front() funktsiyasini chaqirish kerak.
Chaqirishdan oldin, navbat kamida bitta elementni (size()> 0) o'z ichiga olishi kerak, aks holda chaqiruv kutilmagan holatga olib keladi.
Navbatlar bir-biriga teng hisoblanadi, agar ularda elementlar soni bir xil bo’lsa, agar elementlarning juftligi mos kelsa va bir hil ketma-ketligda bo’lsa (ya'ni tenglik uchun ikkita mos keladigan elementni tekshiruvchi har doim true ni beradi).
Konteynerlar orasidagi "katta/kichik" nisbati leksik mezonlarga muvofiq tekshiriladi, leksikografiya mezonlari lexicographical_compare() algoritmining tavsifida ko'rib chiqiladi.
Topshiriq (Har bir talaba 4 tadan misol ishlashi kerak)
Navbatda birinchi va oxirgi elementlar o’rni almashtirilsin.
Navbat o‘rtasidagi element o‘chirib tashlansin. Agar navbat elementlari soni toq bo’lsa, bitta element, aks holda ikkita element o„chirilsin.
Navbatni juft o’rinda turgan elementlari o‘chirilsin.
Navbat o‘rtasiga '+' belgi joylashtirilsin.
Navbat eng kichik elementi topilsin va undan keyin 0 joylashtirilsin.
Navbat eng katta elementi topilsin va undan keyin 0 joylashtirilsin.
Navbat eng kichik elementi o„chirilsin.
Navbatda birinchi elementga teng barcha elementlar o‘chirilsin.
Navbatda oxirgi elementga teng barcha elementlar o‘chirilsin.
Navbat eng katta elementi o‘chirilsin.
Navbat eng kichik elementi topilsin va uning o’rniga 0 joylashtirilsin.