Iteratorlar tomonidan ko'rsatilgan elementlar orasidagi diapazonda map ning elementlar sonini ifodalash uchun ishlatilishi mumkin bo'lgan imzolangan butun son. farq_type - bu konteyner iteratorlari yordamida kamaytirish yoki ko'paytirish orqali qaytariladigan tur. differ_type odatda birinchi va oxirgi iteratorlar orasidagi [firs,last] oralig'idagi elementlar sonini ifodalash uchun ishlatiladi.
mapvamultimapsinflaridanfoydalanib,amaliydasturlaryaratish
Ishningmaqsadi: C++ dasturlash tilida mapvamulmap sinflari va uning metodlaridan foydalanish ko’nikmalarini egallsh.
Masalaningqo’yilishi: map va multimap asosida yaratilgan to’plam elementlarini map va mutimap ning maxsus funksiyalari yordamida qayta ishlash.
Masala: Talabalarning haqida (familiya, ismi va stipendiyasi) string va float turidagi to’plam berilgan. Familiyasi yoki ismi to’liq yozilganlar va stipendiyasi N ga teng bo’lganlaridan 2- to’plamni hosil qiluvchi va ularni ekranga chiqaruvchi dastur tuzing.
Masalaniyechishg‘oyasi: map konteyneri to’plami yaratiladi. map ning insert(pair('a',10)) iteratoridan foydalanib, A to’plamga qiymatlar o’zlashtiriladi.
Dastur matni: #include"stdafx.h"
Dastur natijasi: Talabalar sonini kiriting: 3
- talaba ma'lumotlarini kiriting:
Fam, ismi: Mallayev Oybek Stipendiyasi: 400000
- talaba ma'lumotlarini kiriting:
Fam, ismi: Ishniyazov Odil Stipendiyasi: 500000
- talaba ma'lumotlarini kiriting:
Fam, ismi: ABdurahmonov Stipendiyasi: 300000
Qanday stipendiya oladigan talaba haqida ma'lumot kerak?: 400000 bor
So'rov Natijasi:
Mallayev Oybek 400000
4.Tartiblanmaganassotsiativkonteynerlar Tartibga solinmagan assotsiativ konteynerlar tezda qidirish qobiliyatiga ega (buzilgan) ma'lumotlar tuzilmalarini (o'rtacha murakkabligi O (1), eng yomon holatda O (n)) tashkil etadi.
unordered_set (C++11) - Noyob kalitlar, xash-kalitlar to'plami. unordered_map(C++11) - Kalit-qiymat juftlari to'plami, to'ldirilgan kalitlar, kalitlar noyobdir.
unordered_multiset(C++11)- Kalitlar to'plami, hash-kalitlar.
unordered_multimap(C++11)- unordered_set sinfi:
Snf shabloni:
template<classKey,classHash=std::hash, class KeyEqual = std::equal_to, classAllocator=std::allocator>classunordered_set; Tartiblanmagan to'plam bu ko'p turdagi noyob obyektlarni o'z ichiga olgan assotsiativ konteynerdir. Qidiruv, qo'shish va o'chirish o'rtacha doimiy vaqt murakkabligiga ega.
unordered_setiteratorlari:
Nomi
Izoh
begin,cbegin
Birinchi elementga iteratorni qaytaradi.
end,cend
Iteratorni oxirgi elementga qaytaradi.
empty
Konteynerni bo’shlikka tekshirish.
size
Konteynerning elementlar sonini qaytaradi.
max_size
Konteynerning ruxsat etilgan elementlarning maksimal sonini qaytaradi.
unordered_setningfunksiya–a’zolari:
Nomi
Izoh
at
Ko'rsatilgan elementga indeks tekshiruvi bilan kirishni ta'minlaydi
operator[]
Belgilangan elementga kirishni ta'minlaydi
front
Birinchi elementga kirishni ta'minlaydi
back
oxirgi elementga kirishni ta'minlaydi
data(C++11)
Massivning birinchi haqiqiy elementiga ko'rsatgichni qaytaradi
unordered_setningfunksiya–a’zolari
Nomi
Izoh
get_allocator
Bog'langan ajratuvchini qaytaradi.
operator=
Konteynerdagi qiymatlarni o'rnatadi
unordered_setningmodifikatorlari:
Nomi
Izoh
clear
Konteynerni tozalaydi.
insert
Konteynerga element qo’shadi.
emplace
Elementlarni "joyida" quradi va berilgan pozitsiyadan boshlab ularni joylashtiradi.
emplace_hint
Foydalanish joyidagi struktura elementlari.
erase
Konteynerdan element ochirish.
swap
Tarkibni almashtirish.
count
Muayyan kalitga mos keladigan elementlar sonini qaytaradi.
find
Ma'lum bir kalitga ega bo'lgan elementni topadi.
equal_range
Ma'lum bir kalit uchun elementlar to'plamini qaytaradi.
bucket_count
Buketlar sonini qaytaradi.
max_bucket_count
Buketlar sonini maksimalini qaytaradi.
bucket_size
Aniq buketdagi elementlar soni.
bucket
Aniq kalitlar uchun buket qaytarish.
HashTablebilanishlovchifunksiyalar:
Nomi
Izoh
load_factor
Bir buketdagi elementlarning o'rtacha sonini qaytaradi.
max_load_factor
O’rtach elementlar sonini maksimal boshqarish.
rehash
Talab qilinganidan kam bo'lmagan holda hesh jadvalini qayta tiklash.
reserve
Kamida belgilangan sonlar uchun joy saqlaydi. Bu hash jadvalini tiklaydi.
hash_function
Element qiymatlarini xesh qilish uchun ishlatiladigan funktsiya.