• Iteratorlar va ularning qo‘llanilishi.
  • Tiplarni dinamik tarzda




    Download 1,92 Mb.
    bet43/131
    Sana16.06.2024
    Hajmi1,92 Mb.
    #264063
    1   ...   39   40   41   42   43   44   45   46   ...   131
    Bog'liq
    Tiplarni dinamik tarzda

    9

    Boshqa 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:
    1   ...   39   40   41   42   43   44   45   46   ...   131




    Download 1,92 Mb.