109
Assotsiativ massivni massiv indekslari butun tiplardan iborat bo‘lmagan
massiv sifatida tavsiflash mumkin:
V& operator[](const K&) K ga mos keluvchi V ga ilovani qaytaradi.
Assotsiativ konteynerlar – bu assotsiativ massivning umumiy tushunchasi.
map assotsiativ konteyner bu kalit yordamida qiymatga tez ega bo‘lish
imkonini yaratadigan juftlik (kalit, qiymat) ketma-ketligi. map konteyneri ikki
yo‘nalishli iteratorni tavsif etadi.
map assotsiativ konteyneri kalit tiplari uchun “<” operatsiyasi mavjudligini talab
qiladi. U kalit bo‘yicha saralangan o‘z elementlarini saqlaydi. Saralash almashuvi esa
tartib bo‘yicha bajariladi.
map sinfida quyidagi knstruktorlar aniqlangan:
birinchi shakli bo‘sh assotsiativ konteynerning konstruktorini tavsiflaydi.
Ikkinchi shakli – konstruktor nusxasi, uchinchisi – elementlar diapazonini kamrab
olgan assotsiativ konteynerning konstruktori.
O‘zgartirish operatsiyasi aniqlangan:
map& operator=(const map&);
quyidagi operatsiyalar aniqlangan: ==, <, <=, !=, >, >=.
mapda kalit/qiymat juftliklar pair tiplagi obyektlar ko‘rinishida saqlanadi.
Kalit/qiymat juftliklarni faqatgina pair sinf konstruktorlari yordamida, balki
pair tipdagi obyektlarni yaratuvchi va ma’lumotlar tiplaridan parametrlar sifatida
foydalanuvchi make_pair funksiya yordamida yaratish mumkin.
Assotsiativ konteyner uchun o‘ziga xos operatsiya – bu ([]) indeksatsiyalash
operatsiyasi yordamida assotsiativ qidiruv.
mapped_type& operator[](const key_type& K);
set to‘plamini assotsiativ massiv sifatida ko‘rish mumkin. Unda qiymatlar
ahamiyatga ega emas, shuning uchun faqat kalitlarni ko‘zatish mumkin. To‘plamlar
assotsiativ massiv kabi Т tip uchun (<) “kichik” operatsiyani mavjudligini talab etadi.
U o‘z elementlarini saralangan holda saqlaydi. saralash almashuvi esa tartibda
bajariladi.
Dostları ilə paylaş: