Standart algoritmlar va iteratorlar. Standart shablon kutubxonasi(Standard Template Library-STL): algoritmlar
C++ standart shablon kutubxonasidagi elementlar diapazonida foydalanish uchun maxsus ishlab chiqilgan funksiyalar to'plamini o’zida saqlaydi.
Diapazon bu iterator yoki ko’rsatkichlar orqali kirish mumkin bo'lgan ob'ektlarning har qanday ketma-ketligi, masalan, array yoki ba'zi STL konteynerlarining namunalari . Shunga e'tibor beringki, algoritmlar iteratorlar orqali to'g'ridan-to'g'ri qiymatlarga ta'sir qiladi, mumkin bo'lgan konteynerning tuzilishiga hech qanday ta'sir ko'rsatmaydi (bu hech qachon konteynerning o'lchamiga yoki saqlash joyiga ta'sir qilmaydi). Bu funksiyalar quyidagilardir:
Joylashish tartibini o’zgartirmaydigan funksiyalar
Tartibga solish operatsiyalarini o'zgartirish
Iteratorlar va ularning qo‘llanilishi. Iteratorlar konteynerlarning elementlariga murojaat qilish uchun foydalaniladi. Iteratorlar yordamida 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++ tilida konteynerlardan iteratorlarni ajratib olish uchun begin() va end() funksiyalaridan foydalaniladi.
Iterator yaratishga misol std::vector v = { 1,2,3,4 }; std::vector::iterator iter = v.begin(); Bu misolda tipiga mansub bo‘lgan vektor tipidagi 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.
Iteratorlarda amallari