} } 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.
- Itoratorlarning beshta tipi mavjud:
- 1. Kiritish iteratorlar (input_iterator) tenglik, nomini o‘zgartirish va inkrementa operatsiyalarni qo‘llaydi.
- ==, !=, *i, ++i, i++, *i++
Kiritish iteratsiyasining maxsus xolati istream_iterator dan iborat. - 2. Chiqarish iteratorlar (output_iterator) o‘zlashtirish operatorning chap tarafidan imkon bo‘lgan isimning o‘zgartirish va inkremental operatsiyalar qo‘llanadi.
- ++i, i++, *i=t, *i++=t
Chiqarish iteratsiyasining maxsus xolati ostream_iterator. - 3. Bitta yo‘nalishdagi iteratorlar (forward_iterator) kiritish/chiqarish operatsiyalarning barchasini qo‘llaydi, bundan tashqari chegarasiz o‘zlashtirishning imkonini beradi.
- ==, !=, =, *i, ++i, i++, *i++
- 4. Ikki yo‘nalishdagi iteratorlar (biderectional_iterator) forward-iteratorlarning barcha xususiyatlariga ega, bundan tashqari, konteynerni ikkita yo‘nalishi bo‘yicha o‘tish imkonini beradigan qo‘shimcha dekremental (--i, i--, *i--) operatsiyasiga ega.
- 5. Ixtiyoriy ruxsatga ega bo‘lgan iteratorlar (random_access_iterator) biderectional-iteratorlarning barcha xususiyatlariga ega, bundan tashqari solishtirish va manzil arifmetikasi operatsiyalarni qo‘llaydi.
- i+=n, i+n, i-=n, i-n, i1-i2, i[n], i1i2, i1>=i2
- Shuningdek, STLda teskari iteratorlar (reverse iterators) qo‘llaniladi. Ketma-ketlikni teskari yo‘nalishda o‘tuvchi ikki yo‘nalishli yoki ixtiyoriy ruxsatga ega bo‘lgan iteratorlar teskari iteratoralar bo‘lishi mumkin.
Do'stlaringiz bilan baham: |