1. 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.