Ro’yxat – ikki yo‘nalishli iteratorlarni qo‘llaydigan xamda kiritish va o‘chirish operatsiyalarni o‘zgarmas vaqtda ketma- ketlikni ixtiyoriy joyida bajaradigan, shuningdek, xotirani boshqarishiga avtomatik ravishda ishlov beruvchi ketma- ketlik ko‘rinishi. Vektorlar va ikkitarafli ro’yxatlarning farqi shundaki elementlar ro‘yxatiga tez va ixtiyoriy ro‘xsat qo‘llanmaydi, lekin ko‘pgina algoritmlarga esa ketma-ketlik ruxsat zarur.
#include //
using namespace std; int main()
{ int n;
cout << "Navbat elementlari sonini kiriting:"; cin >> n;
queue q, p;
cout << "Navbat elementlarini kiriting:\n"; for(int i = 1; i <= n; i ++)
{ int x;
cin >> x;
q.push(x); }
}
cout << "Navbatdagi eng katta element: " <<
mx << '\n';
cout << "Navbat:"; while(q.size())
{
cout<< q.front() << ' ';
q.pop();
}
Yuqoridagi navbatning eng katta elementini toping
va undan keyin 0 qo’yishning c++ dagi dasturi.
STL iteratorlari
Iterator - bu konteyner sinfining elementlarini, konteyner sinfining bajarilishini bilishni talab qilmasdan, takrorlashga qodir ob'ekt. Ko'pgina konteynerlarda (ayniqsa, ro'yxat va assotsiativ konteynerlar) iteratorlar ushbu konteynerlarning elementlariga kirishning(murojatning) asosiy usuli hisoblanadi. Iteratorni aniq belgilangan funktsiyalarni bajarish uchun ortiqcha yuklangan operatorlarning qo'shimcha to'plamiga ega konteyner sinfining ma'lum bir elementiga ko'rsatgich sifatida qarash mumkin: - * operatori iterator hozir ko'rsatayotgan elementni qaytaradi.
Iteratorlar
Itaratorlar bilan ko‘rsatkichlar kabi ishlash mumkin.
Ularga *, inkrement, dekrement operatorlarni
qo‘llash mumkin. Iterator tipi sifatida xar xil
konteynerlarda aniqlangan iterator tip elon qilinadi.