|
Tiplarni dinamik tarzda
|
bet | 43/131 | Sana | 13.05.2024 | Hajmi | 1,83 Mb. | | #228405 |
Bog'liq Tiplarni dinamik tarzdaBoshqa yordamchi amallar:
9.1
|
lexicographical_compare
|
leksikografik jihatdan qiyoslash
|
9.2
|
next_permutation
|
to‘plam aylantirish uchun keyingi ideks
|
9.3
|
prev_permutation
|
to‘plam aylantirish uchun oldingi ideks
|
Bu yerda 85 ta algoritmlar keltirilgan, ammo bularning hammasi shablon funksiya bo‘lganligi uchun C++ dasturlash versiyalarida farqi bo‘lishi mumkin. Shuningdek, eslab ko‘ring, bu algoritmlarning ko‘plaridan oldin mavzularimizda foydalanganmiz.
Iteratorlar va ularning qo‘llanilishi. Iteratorlar konteynerlarning elementlariga murojaat qilish uchun foydalaniladi. Iteratorlar bilan elementlar bilan ishlash juda qulay hisoblanadi. Iterator iterator tipi bilan yoziladi. Har qanday konteyner uchun iteratorlarning tiplari farq qiladi. Masalan, list tipidagi konteyner uchun list::iterator tipi, vector tipidagi konteyner uchun esa vector::iterator tipi ishlatiladi. C++ tiladi konteynerlardan iteratorlarni ajratib olish uchun begin() va end() funksiyalaridan foydalaniladi. begin() funksiyasi konteynerdagi birinchi element ko‘rsatuvchi iteratorni qaytaradi (agar konteynerda elementlar bo‘lsa). end() funksiyasi konteynerdagi oxirgi elementdan keyingi pozitsiyani ko‘rsatuvchi iteratorni (yaʻni konteyner oxirini) qaytaradi. Agar konteyner bo‘sh bo‘lsa, begin() va end() funksiyalari bir xil qiymat qaytaradi. Agar begin() va end() funksiyalari o‘zaro teng bo‘lmasa, ularning orasidan kamida bitta element bor. Bu funksiyalar aniq tipli konteyner uchun iterator qaytaradi. Iterator yaratishga misol:
std::vector v = { 1,2,3,4 };
std::vector::iterator iter = v.begin();
|
Bu misolda tipiga mansub bo‘lgan vektor tipidpgi konteyner - vektor yaratilgan. Konteyner doimiy qiymatlar bilan to‘ldirilgan. begin() funksiyasi (usuli) bilan vektor elementini olish uchun iterator keltirilgan. Bu iterator vektor konteynerning birinchi elementini ko‘rsatadi.
Iterator amallari:
|
| |