Shablonlar qanday ishlaydi?



Download 1,72 Mb.
bet6/6
Sana13.01.2022
Hajmi1,72 Mb.
#355934
1   2   3   4   5   6
Bog'liq
Algoritmlash MI-1

Iteratorlar.Nomidan ko'rinib turibdiki, iteratorlar qiymatlar ketma-ketligi ustida ishlash uchun ishlatiladi. Ular STLda umumiylikka imkon beruvchi asosiy xususiyatdir. Iteratorlar STL konteynerlarining xotira manzillariga ishora qilish uchun ishlatiladi. Ular birinchi navbatda raqamlar, belgilar va boshqalar ketma-ketlikda qo'llaniladi. Ular dasturning murakkabligi va bajarilish vaqtini qisqartiradi.

1. begin() - Bu funksiya konteynerning boshlanish holatini qaytarish uchun ishlatiladi. 2. end() - Bu funksiya konteynerning oxirgi holatini qaytarish uchun ishlatiladi.

// C++ code to demonstrate the working of // iterator, begin() and end() #include #include // for iterators #include // for vectors using namespace std; int main(){ vector ar = { 1, 2, 3, 4, 5 }; // Declaring iterator to a vector vector::iterator ptr; // Displaying vector elements using begin() and end() cout << "The vector elements are : "; for (ptr = ar.begin(); ptr < ar.end(); ptr++) cout << *ptr << " "; return 0; }

3. advance() - Bu funksiya iterator oʻrnini argumentlarida koʻrsatilgan raqamgacha oshirish uchun ishlatiladi.

4. next() - Bu funksiya iterator oʻz argumentlarida koʻrsatilgan pozitsiyalarni ilgari surgandan soʻng koʻrsatadigan yangi iteratorni qaytaradi.

5. prev() - Bu funksiya iterator o'z argumentlarida eslatib o'tilgan pozitsiyalarni kamaytirgandan keyin ko'rsatadigan yangi iteratorni qaytaradi.

6. inserter() :- Bu funksiya elementlarni konteynerning istalgan joyiga kiritish uchun ishlatiladi. U 2 ta argumentni, konteyner va iteratorni elementlarni kiritish kerak bo'lgan joyni qabul qiladi.

Std::find, std::equal, std::count kabi turli xil STL algoritmlarining shablon ta'rifini ko'rib chiqqandan so'ng, siz Input Iterator tipidagi ob'ektlardan iborat shablon ta'rifini topgan bo'lishingiz kerak. Xo'sh, ular nima va ular nima uchun ishlatiladi?

Input iteratorlari C++ standart kutubxonasida mavjud bo'lgan iteratorlarning beshta asosiy turidan biri bo'lib, boshqalari Chiqish iteratorlari, Oldinga iterator, Ikki yo'nalishli iterator va Tasodifiy kirish iteratorlaridir.

Input iteratorlari mavjud bo'lgan barcha iteratorlar orasida eng zaif va eng sodda deb hisoblanadi, ularning funksionalligi va ular yordamida nimaga erishish mumkin. Ular ketma-ket kiritish operatsiyalarida ishlatilishi mumkin bo'lgan iteratorlar bo'lib, bunda iterator tomonidan ko'rsatilgan har bir qiymat faqat bir marta o'qiladi va keyin iterator oshiriladi.



Std::copy, std::move, std::transform kabi turli xil STL algoritmlarining shablon ta'rifini ko'rib chiqqandan so'ng, siz Output Iterator tipidagi ob'ektlardan iborat shablon ta'rifini topgan bo'lishingiz kerak. Xo'sh, ular nima va ular nima uchun ishlatiladi? Output iteratorlari C++ standart kutubxonasida mavjud bo'lgan iteratorlarning beshta asosiy turidan biri bo'lib, boshqalari kirish iteratorlari, oldinga yo'naltiruvchi iteratorlar, ikki yo'nalishli iteratorlar va tasodifiy kirish iteratorlaridir.Output iteratorlari kiritish iteratorlarining teskari funksiyasini bajaradiganligi sababli, kirish takrorlovchilarining mutlaqo teskarisi hisoblanadi. Ularga qiymatlar ketma-ketlikda tayinlanishi mumkin, lekin qiymatlarga kirishning teskarisini bajaradigan va qiymatlarni belgilash mumkin bo'lmagan kirish iteratorlaridan farqli o'laroq, qiymatlarga kirish uchun foydalanilmaydi. Shunday qilib, input va ouput iteratorlari bir-birini to'ldiradi, deb aytishimiz mumkin.

Std::search, std::search_n, std::lower_bound kabi turli xil STL algoritmlarining shablon ta'rifini ko'rib chiqqandan so'ng, siz Forward Iterator tipidagi ob'ektlardan iborat shablon ta'rifini topgan bo'lishingiz kerak. Xo'sh, ular nima va ular nima uchun ishlatiladi? Forward iteratorlar C++ standart kutubxonasida mavjud boʻlgan iteratorlarning beshta asosiy turlaridan biri boʻlib, boshqalari kirish iteratorlari, chiqish iteratorlari, ikki yoʻnalishli iteratorlar va tasodifiy kirish iteratorlaridir. Forward iteratorlar kirish va chiqish iteratorlarining kombinatsiyasi hisoblanadi. U ikkalasining funksionalligini qo'llab-quvvatlaydi. Bu qiymatlarga kirish va o'zgartirish imkonini beradi.

Std::reverse, std::next_permutation va std::reverse_copy kabi turli xil STL algoritmlarining shablon ta'rifini ko'rib chiqqandan so'ng, ularning ikki tomonlama iterator tipidagi ob'ektlardan iborat shablon ta'rifini topgan bo'lishingiz kerak. Xo'sh, ular nima va ular nima uchun ishlatiladi? Bidirectional iteratorlar C++ standart kutubxonasida mavjud boʻlgan iteratorlarning beshta asosiy turlaridan biri boʻlib, boshqalari kirish iteratorlari, chiqish iteratorlari, Forward iteratorlari va tasodifiy kirish iteratorlaridir.



Bidirectional iteratorlar - bu har ikki yo'nalishda (oxiriga va boshiga) diapazondagi elementlar ketma-ketligiga kirish uchun ishlatilishi mumkin bo'lgan iteratorlar. Ular oldinga iteratorlarga o'xshaydi, faqat oldinga yo'nalishda harakatlanishi mumkin bo'lgan oldinga iteratorlardan farqli o'laroq, ular orqaga yo'nalishda ham harakatlanishi mumkin.Shuni ta'kidlash kerakki, ro'yxat, xarita, multimap, to'plam va multiset kabi konteynerlar bidirectional iteratorlarni qo'llab-quvvatlaydi. Bu shuni anglatadiki, agar biz ular uchun oddiy iteratorlarni e'lon qilsak va ular vektorlar va deque holatlarida bo'lgani kabi, ular ikki tomonlama iteratorlar bo'ladi, ular tasodifiy kirish iteratorlaridir.
Download 1,72 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish