Muxammad al-Xorazmiy nomidagi Toskent
axborot tenalogiyalari
unversiteti
Mustaqil ish-2
Guruh: DI 11-22
Fan nomi: Dasturlash
Bajardi: Tuychiyev F
Qabul qildi: Xudayorov L
Qarshi 2023
1.Asosiyativ kontenirlar ( set map multsit multimap)
2.Tartiblanmagan asasiyativ kontenirlar.
3.Stack queue proitile_ queue.
4.Kontenirlar bilan ishlaydigan algoritimlar. Funktor qullash.
5.Standart algoritimlar.Iteratorlar va ularning qullanishi.
Assotsiativ konteynerlar
Assotsiativ konteynerlar tezkor qidiruv qobiliyatiga ega bo'lgan buyurtma qilingan ma'lumotlar tuzilishini (O (log n) murakkabligi bilan) amalga oshiradi.
Assotsiativ konteynerlar:
set - kalit bo'yicha tartiblangan noyob kalitlarning to'plami.
map - kalitlarga ajratilgan kalit-qiymat juftliklari to'plami, kaltlar
noyobdir.
multiset – kalitlar bo’yicha tartiblangan to’plam.
multimap - kalitlar bo’yicha tartiblangan, kalit-qiymat juftliklari to'plami.
Set sinfi
C ++ standart kutubxonasining konteyner sinfidan, ma'lumotlar to'plamidan ma'lumotlarni saqlash va olish uchun foydalaniladi. Bunda elementlarning qiymatlari noyob bo'lishi kerak va ular asosiy ma'lumotlar sifatida xizmat qilishi kerak, ularga ko'ra ma'lumotlar avtomatik ravishda buyurtma qilinadi. To'plamdagi elementning qiymatini to'g'ridan-to'g'ri o'zgartirish mumkin emas. Buning o'rniga eski qiymatlarni o'chirib tashlab, yangi qiymatlar bilan elementlarni joylashtirish kerak.
Set sinfi sintaksisi:
template
class Traits=less,
class Allocator=allocator>
class set
Konteyner turini tanlash, odatda, ilova talab qiladigan qidirish va qo'shib qo'yish turiga asoslangan bo'lishi kerak. Assotsiativ konteynerlar qidirish, kiritish va yo'q qilish operatsiyalari uchun optimallashtirilgan. Ushbu operatsiyalarni aniq qo'llab-quvvatlaydigan a'zo funktsiyalari samarali va o'rtacha hisobda ularni konteynerdagi elementlar sonining logarifmiga mutanosib ravishda bajaradi. Elementlarni kiritishda iteratorlar ishlatilmaydi hamda elementlarni o'chirish iteratorlar yordamida amalga oshiriladi.
begin() funksiyasi:
Qaytish qiymati "boshlash" const_iterator-ga tayinlangan bo'lsa, u holda belgilangan obyektdagi elementlarni o'zgartirish mumkin emas. Agar boshlang'ichning qaytarilish qiymati iteratorga tayinlangan bo'lsa, unda yig'ish obyektidagi elementlar o'zgarishi mumkin.
cbegin() funksiyasi:
To'plamdagi birinchi elementga tegishli bo'lgan const-iterator ni qaytaradi.
const_iterator cbegin() const;
auto i1 = Container.begin(); // i1 is Container::iterator
auto i2 = Container.cbegin(); // i2 is Container::const_iterator
cend() funksiyasi:
Maydondagi oxirgi elementdan so'ng darhol manzilga kiradigan doimiy iteratorni qaytaradi.
const_iterator cend() const;
auto i1 = Container.end();
// i1 is Container::iterator
auto i2 = Container.cend();
// i2 is Container::const_iterator
Do'stlaringiz bilan baham: |