|
unordered_set ning funksiya – a’zolari
|
bet | 4/4 | Sana | 16.06.2022 | Hajmi | 2.03 Mb. | | #23803 |
Bog'liq 3-ma\'ruza. Assotsiativ va tartiblanmagan konteynerlar science-subject-for-elementary-3rd-grade-the-water-cycleunordered_set ning funksiya – 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_set ning funksiya – a’zolari
Nomi
|
Izoh
|
get_allocator
|
Bog'langan ajratuvchini qaytaradi.
|
operator=
|
Konteynerdagi qiymatlarni o'rnatadi
|
unordered_set ning modifikatorlari:
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.
|
Hash Table bilan ishlovchi funksiyalar:
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.
|
key_eq
|
Kalitlarning tengligini tekshirish funktsiyasini qaytaradi.
|
unordered_set uchun qayta yuklanmagan operatorlar:
Nomi
|
Izoh
|
operator==
|
Bir qatordagi qiymatlarni leksikografik jihatdan taqqoslaydi
|
operator!=
|
unordered_set ga misol:
unordered_set::swap ga misol:
unordered_set konstruktoriga misol:
std::unordered_set::begin:
std::unordered_set::bucket:
std::unordered_set::bucket_count:
std::unordered_set::bucket_size:
std::unordered_set::cbegin:
std::unordered_set::clear:
std::unordered_set::count:
std::unordered_set::empty:
std::unordered_set::erase:
std::unordered_set::find:
std::unordered_set::hash_function:
std::unordered_set::insert:
insert funksiyasini 6 ta turi mavjud. Ular quyidagicha:
1) pair insert ( const value_type& val );
2) pair insert ( value_type&& val );
3) iterator insert ( const_iterator hint, const value_type& val );
4) iterator insert ( const_iterator hint, value_type&& val );
5) template
void insert ( InputIterator first, InputIterator last );
6) void insert ( initializer_list il );
key_type() – funksiyasi
load_factor() – funksiyasi:
Maqsadi - blokdagi elementlarning o'rtacha sonini hisoblaydi.
float load_factor() const;
A'zo funktsiyasi (float) unordered_set::size() / (float) unordered_set::bucket_count(), har bir blok uchun elementlarning o'rtacha sonini qaytaradi.
= operatori:
Maqsadi – hesh jadvalni nushalash.
unordered_set& operator=(const unordered_set& right); unordered_set& operator=(unordered_set&& right);
unordered_set-dagi mavjud elementlarni yo'q qilgandan so'ng ,, operator = nusxa oladi yoki tarkibni to'g'ridan-to'g'ri unordered_set-ga o'tkazadi.
typedef Alloc::pointer pointer;:
Maqsadi – boshqariladigan ketma-ketlikning elementiga ko'rsatgich sifatida ishlatilishi mumkin bo'lgan obyekt bilan ishlash.
IsReference() – funksiyasi:
Maqsadi – Turi boshqariladigan ketma-ketlikning elementi uchun havola sifatida ishlatilishi mumkin bo'lgan obyekt bilan ishlash.
typedef Alloc::reference reference;
rehash() – funksiyasi:
Maqsadi – Hash jadvalini qayta yaratish.
void rehash(size_type nbuckets);
Ushbu funktsiya, hech bo'lmaganda nbuket bo'lishi uchun konteynerlar sonini o'zgartiradi va kerak bo'lganda hash jadvalini tiklaydi.
unordered_set() – konstruktorlar:
Birinchi konstruktor to'g'ri chizilgan ketma-ketlikning nusxasini belgilaydi.
Ikkinchi konstruktor boshqariladigan bo'sh ketma-ketlikni belgilaydi.
Uchinchi konstruktor sakkizinchi konstruktorlar o'rtasida to'rtinchi o'ng tomon siljish bilan ketma-ketlikning nusxasini bildiradi. Nusxalash uchun elementlarni belgilash uchun initializer_list-dan foydalaning.
To'qqizinchi konstruktor element qiymatlarining ketma-ketligini qo'shadi [birinchi, oxirgi).
Barcha konstruktorlar bir qator saqlanadigan qiymatlarni ishga tushiradilar. Nusxa tuzuvchi uchun qiymatlar o'ng tomonda olinadi. Aks holda:
Konteynerlarning minimal soni - bu argument, bucket_count, agar mavjud bo'lsa; aks holda, bu N0 amalga oshirish bilan belgilangan qiymat sifatida tasvirlangan standart qiymat.
hash funktsiyasi obyekti, agar mavjud bo'lsa, hash argumentidir; aks holda bu Hash ().
Foydalanilgan adabiyotlar:
https://ru.cppreference.com/w/cpp/container/unordered_set
https://ru.cppreference.com/w/cpp/container/unordered_set/operator%3D
https://docs.microsoft.com/ru-ru/cpp/standard-library/unordered-set-functions?view=vs-2019
http://www.cplusplus.com/reference/unordered_set/unordered_set/unordered_set/
http://www.cplusplus.com/reference/unordered_set/unordered_set/begin/
http://www.cplusplus.com/reference/unordered_set/unordered_set/bucket/
http://www.cplusplus.com/reference/unordered_set/unordered_set/bucket_count/
http://www.cplusplus.com/reference/unordered_set/unordered_set/bucket_size/
https://docs.microsoft.com/ru-ru/cpp/standard-library/unordered-set-class?view=vs-2017#rehash
https://docs.microsoft.com/ru-ru/cpp/standard-library/map-class?view=vs-2017
Xulosa
Assotsiativ konteynerlar:
set – faqat kalitlarni saqlaydi.
map – kalit va qiymatlarni saqlaydi.
Tartibga solinmagan assotsiativ konteynerlar:
unordered set – faqat kalitlarni saqlaydi.
unordered map – kalit va qiymatlarni saqlaydi.
Ushbu konteynerlarning kalitlari noyob – ya’niy takrorlanmaydi. Lekin kalitlari takrorlanadigan konteynerlar ham bor. Ular quyidagicha:
multiset, multimap, unordered multiset, unordered multimap.
|
| |