Assotsiativ konteynerlar haqida; set va multiset sinflari; map va multimap siflari



Download 2,04 Mb.
bet3/3
Sana31.12.2021
Hajmi2,04 Mb.
#257901
1   2   3
Bog'liq
3-ma'ruza. Assotsiativ va tartiblanmagan konteynerlar

Set uchun aniqlangan turlar:




Nomi

Izoh

1

allocator_type

To'plam obyekti uchun ajratuvchi sinfini ifodalovchi tur.

2

const_iterator

To'plamning const elementini o'qiy oladigan ikki tomonli iteratorni ta'minlaydigan tur.

3

const_pointer

To'plamdagi const elementiga ko'rsatgichni ta'minlaydigan tur.

4

const_reference

Const operatsiyalarini o'qish va bajarish uchun to'plamda saqlanadigan const elementiga mos yozuvlar beradigan tur.

5

const_reverse _iterator

To'plamdagi istalgan konst elementni o'qiy oladigan ikki tomonlama iteratorni ta'minlovchi tur.

6

difference_type

Iteratorlar tomonidan ko'rsatilgan elementlar orasidagi diapazonda to'plamdagi elementlar sonining vakili sifatida foydalanish uchun mos bo'lgan imzolangan butun son turi.

7

iterator

To'plamdagi istalgan elementni o'qishi yoki o'zgartirishi mumkin bo'lgan ikki tomonli iteratorni ta'minlovchi tur.

8

key_compare

To'plamdagi ikkita elementning nisbiy tartibini aniqlash uchun ikkita xil elementlarni taqqoslashi mumkin bo'lgan funktsiya obyekti bilan ta'minlaydigan tur.

9

key_type

Saralash kalitiga xos bo'lgan qobiliyatlari jihatidan to'plam sifatida saqlangan obyektni tavsiflovchi tur.

10

pointer

Bir to'plamdagi elementga ko'rsatgichni ta'minlaydigan tur.

11

reference

To'plamda saqlanadigan elementga mos yozuvlar beradigan tur.

12

reverse_iterator

Inverted to'plamda elementni o'qiy oladigan yoki o'zgartiradigan ikki tomonlama iteratorni ta'minlaydigan tur.

13

size_type

To'plamdagi elementlar sonini ifodalashi mumkin bo'lgan imzolanmagan butun son turi.

14

value_compare

To'plamdagi ularning nisbiy tartibini aniqlash uchun ikkita elementni taqqoslashi mumkin bo'lgan funktsiya obyekti bilan ta'minlaydigan tur.

15

value_type

To'plam elementi sifatida saqlanadigan ob'ektni qiymatga xos bo'lgan qobiliyatlari nuqtai nazaridan tavsiflaydigan tur.

Set uchun aniqlangan funksiyalar:



Nomi

Izoh



begin

To'plamdagi birinchi elementga kiradigan iteratorni qaytaradi.



cbegin

To'plamdagi birinchi elementga tegishli bo'lgan konst-iteratorni qaytaradi.



cend

To'plamdagi oxirgi elementdan keyingi joyga ishora qiluvchi const iteratorini qaytaradi.



clear

Bir to'plamdagi barcha elementlarni o'chiradi.



count

Kalitlari parametr tomonidan berilgan kalitga mos keladigan to'plamdagi elementlar sonini qaytaradi.



crbegin

Invertirlangan to'plamdagi birinchi elementga kiradigan konst-iteratorni qaytaradi.



crend

Inverted to'plamdagi oxirgi elementdan keyin joylashgan joyni bildiradigan konst-iteratorni qaytaradi.



emplace

To'plamga element joylashtiradi.



emplace_hint

Joylashtirishga ishora bilan to'plamga element kiritadi.



empty

To'plam bo'sh yoki yo'qligini tekshiradi.



end

To'plamdagi oxirgi elementdan keyingi joyga ishora qiluvchi iteratorni qaytaradi.



equal_range

Belgilangan kalitdan kattaroq kalit bilan to'plamdagi birinchi elementga va berilgan kalitdan kattaroq yoki unga teng keladigan to'plamdagi birinchi elementga mos ravishda iterator juftligini qaytaradi.



erase

Belgilangan pozitsiyalardan biron bir element yoki elementlar qatorini o’chiradi yoki berilgan kalitga mos keladigan elementlarni o’chiradi.



find

Belgilangan kalitga teng keladigan kalit bilan to'plamdagi elementning joylashuviga kiradigan iteratorni qaytaradi.



get_allocator

To'plamni yaratish uchun foydalaniladigan ajratuvchi ob'ektining nusxasini qaytaradi.



insert

To’plamga elementlar yoki elementlar qatorini qo'shadi.



key_comp

To'plamda elementlarni tartibga solish uchun ishlatiladigan taqqoslash obyektining nusxasini oladi.



lower_bound

Belgilangan kalitdan kattaroq yoki unga teng bo'lgan kalit bilan to'plamdagi birinchi elementga ishora qiluvchi iteratorni qaytaradi.



max_size

To'plamning maksimal uzunligini qaytaradi.



rbegin

Inverter to'plamdagi birinchi elementga kiradigan iteratorni qaytaradi.



rend

Invertirlangan to'plamdagi oxirgi elementdan keyingi joyga ishora qiluvchi iteratorni qaytaradi.



size

To'plamdagi elementlar sonini qaytaradi.



swap

Ikki to'plam elementlarni almashtiradi.



upper_bound

Belgilangan kalitdan kattaroq kalit bilan to'plamdagi birinchi elementga ishora qiluvchi iteratorni qaytaradi.



value_comp

To'plamdagi elementlarning qiymatlarini tartibga solish uchun ishlatiladigan taqqoslash obyektining nusxasini oladi.


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
clear() funksiyasi:



const_reference() funksiyasi:

Const operatsiyalarini o'qish va bajarish uchun to'plamda saqlanadigan const elementiga mos yozuvlar beradigan tur.



typedef typename allocator_type::const_reference const_reference;


count() funksiyasi:





crbegin() funksiyasi:





emplace() funksiyasi:





emplace_hint() funksiyasi:

Yaratilgan elementni joyiga qo'yish (nusxalash yoki ko'chirish ishlari amalga oshirilmaydi).



template

iterator emplace_hint(

const_iterator where,

Args&&... args);







find() funksiyasi:

Belgilangan pozitsiyalardan biron bir element yoki elementlar qatorini yoki berilgan kalitga mos keladigan elementlarni topadi.



iterator find(const Key& key);

const_iterator find(

const Key& key) const;
allocator_type turi:


  • To'plam obyekti uchun tarqatish sinfini ifodalovchi tur.

  • typedef Allocator allocator_type;

key_comp() funksiyasi:

To'plamdagi elementlarni tartibga solish uchun ishlatiladigan taqqoslash obyektining nusxasini oladi.



bool-operator () (key const & _xVal, key const & _yVal);

Esda tutingki, key_compare va value_compare ikkalasi ham Traits shablonlari parametrining sinonimidir. Ikkala turi ham bir xil bo'lgan to'siq va multiset sinflari uchun taqdim etiladi, ular map da va multimap sinflarida mosligi uchun farq qiladi.


multiset sinfi

multiset - bir xil kalitlar bilan ishlovchi turlar va funksiyalarga ega konteynerdir. set sinfida mavjud barcha barcha funksiyalar multimap sinfi uchun ham qo’llaniladi. Faqat mavjud elementlarga murojaat qilishda funksiya sintaksisi o’zgarishi mumkin.


set va multiset sinflaridan foydalanib, amaliy dasturlar yaratish

Masalaning qo’yilishi:

set va multiset asosida yaratilgan to’plam elementlarini set va mutiset ning maxsus funksiyalari yordamida qayta ishlash.

Masala:

Berilgan int turidagi to’plam qiymatlari 2- to’plamda nechta marta qatnashganligini aniqlovchi va ularni ekranga chiqaruvchi dastur tuzing. Ikkala to’plamdan ham bir xil qiymatli elemetlar o’chirilib, saralangan to’plam hosil qilinsin hamda uning qiymatlari ekranga chiqarilsin.



Masalani yechish g‘oyasi:

set konteyneri to’plami yaratiladi. list ning insert() iteratoridan foydalanib, A to’plamga qiymatlar o’zlashtiriladi. Z to’plamga esa A to’plam qiymatlarini juftlari yoziladi.


set va multiset sinflaridan foydalanib, amaliy dasturlar yaratish
Ishning maqsadi: C++ dasturlash tilida set va multiset sinflari va uning metodlaridan foydalanish ko’nikmalarini egallsh.

Masalaning qo’yilishi:

set va multiset asosida yaratilgan to’plam elementlarini set va mutiset ning maxsus funksiyalari yordamida qayta ishlash.

Masala:

Berilgan int turidagi to’plam qiymatlari 2- to’plamda nechta marta qatnashganligini aniqlovchi va ularni ekranga chiqaruvchi dastur tuzing. Ikkala to’plamdan ham bir xil qiymatli elemetlar o’chirilib Saralangan to’plam hosil qilinsin hamda uning qiymatlari ekranga chiqarilsin.



Masalani yechish goyasi: set konteyneri to’plami yaratiladi. list ning insert() iteratoridan foydalanib, A to’plamga qiymatlar o’zlashtiriladi. Z to’plamga esa A to’plam qiymatlarini juftlari yoziladi.

Dastur matni:

  1. #include "stdafx.h"

  2. #include

  3. #include

  4. #include

  5. #include

  6. using namespace System;

  7. using namespace std;

  8. int main()

  9. { srand(time(NULL));

  10. set s; int n;

  11. cout<<"Elementlar sonini: "; cin>>n;

  12. multiset M, M2;

  13. for (int i = 0; i < n; i++)

  14. { int j = rand()%n+n; M.insert(j);

  15. j = rand()%n+n; M2.insert(j);

  16. }

  17. auto k2 = M.begin();

  18. set s2;

  19. for (int i = 0; i < n; i++)

  20. {

  21. s2.insert(*k2); k2++;

  22. }

  23. cout<

  24. for (auto i=M.begin(); i!=M.end(); i++)

  25. {

  26. cout<<*i<<" ";

  27. }

  28. cout<

  29. cout<

  30. for (auto i=M2.begin(); i!=M2.end(); i++)

  31. {

  32. cout<<*i<<" ";

  33. }

  34. cout<

  35. int soni=0;

  36. for (auto i=s2.begin(); i!=s2.end(); i++)

  37. {

  38. for (auto j=M2.begin(); j!=M2.end(); j++)

  39. {

  40. if(M2.count(*i)){

  41. if(*i==*j) {soni++; }

  42. }

  43. }

  44. if(soni>0)cout<<*i<<" -"<

  45. else {cout<<*i<<" - qatnashmagan "<

  46. soni = 0;

  47. }

  48. //cout<

  49. auto k = M.begin();

  50. auto l = M2.begin();

  51. for (int i = 0; i < n; i++)

  52. {

  53. s.insert(*k);k++;

  54. s.insert(*l); l++;

  55. }

  56. cout<

  57. cout<

  58. for (auto i=s.begin(); i!=s.end(); i++)

  59. {

  60. cout<<*i<<" ";

  61. }

  62. getchar(); getchar();

  63. return 0;

  64. }

Dastur natijasi:

Elementlar sonini: 25
M to'plam elementlari:

25 27 27 27 27 28 29 30 31 31 31 32 33 33 35 35 37 37 40 42 42 43 43 47 48


M2 to'plam elementlari:

26 27 30 31 31 31 31 34 35 37 38 39 42 43 45 45 45 46 46 46 46 47 47 49 49


M1 ning elementlari M2 to'plamda qatnashganlari soni:

25 - qatnashmagan

27 -1 marta

28 - qatnashmagan

29 - qatnashmagan

30 -1 marta

31 -4 marta

32 - qatnashmagan

33 - qatnashmagan

35 -1 marta

37 -1 marta

40 - qatnashmagan

42 -1 marta

43 -1 marta

47 -2 marta

48 - qatnashmagan

Saralangan to'plam elementlari:

25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 42 43 45 46 47 48 49



map sinfi

map va multimap - konteyner sinf shablonlarini va ularning yordamchi shablonlarini belgilaydi.



<map> kutubxonasi, shuningdek #include direktivasidan foydalanadi.

map va multimap uchun quyidagi operatorlar qayta yuklangan:
map sinfi uchun qayta yuklanga operatorlar

map sinfi:

Har bir element ma'lumotlar qiymati va saralash kalitiga ega bo'lgan to'plamdan ma'lumotlarni saqlash va olish uchun ishlatiladi. Kalit qiymati noyobdir va ma'lumotlarni avtomatik saralash uchun ishlatiladi.



map da elementning qiymati to'g'ridan-to'g'ri o'zgartirilishi mumkin. Kalit qiymati doimiy bo'lib, uni o'zgartirib bo'lmaydi. Buning o'rniga eski elementlar bilan bog'liq bo'lgan kalit qiymatlarni o’chirish va yangi elementlarga yangi kalit qiymatlarini kiritish kerak.

map sinfining sintaksisi:

template

class Type,

class Traits = less,

class Allocator=allocator


>> class map;

map sinfining turlari va funksiyalari

map sinfining turlari va funksiyalari set sinfiniki bilan bir xil faqat ulardan foydalanish usullarida farq qilinishi mumkin.

value_type turi va at(), insert() funksiyalari:





const_iterator turi va erase () funksiysi:





typedef pair turi va begin() funksiysi:





typedef pair turi va count() funksiysi:



difference_type turi:



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.

map va multimap sinflaridan foydalanib, amaliy dasturlar yaratish
Ishning maqsadi: C++ dasturlash tilida map va mulmap sinflari va uning metodlaridan foydalanish ko’nikmalarini egallsh.

Masalaning qo’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.



Masalani yechish goyasi:

map konteyneri to’plami yaratiladi. map ning insert(pair('a',10)) iteratoridan foydalanib, A to’plamga qiymatlar o’zlashtiriladi.

Dastur matni:

  1. #include "stdafx.h"

  2. #include

  3. #include

  4. #include

  5. using namespace System;

  6. using namespace std;

  7. int main()

  8. { map s; int n;

  9. cout<<"Talabalar sonini kiriting: "; cin>>n; cin.ignore();

  10. multimap M, M2;

  11. for (int i = 0; i < n; i++)

  12. { string St;

  13. int step;

  14. cout<

  15. cout<<"Fam, ismi: "; getline(cin,St);

  16. cout<<"Stipendiyasi: "; cin>>step; cin.ignore();

  17. s.insert(pair(St,step));

  18. M.insert(pair(St,step));

  19. }

  20. string S;

  21. int N;

  22. cout<<"Qanday stipendiya oladigan talaba haqida ma'lumot kerak?: ";

  23. cin>>N;

  24. int k=0;

  25. for (auto it = M.begin(); it != M.end(); ++it){

  26. S = it->first;

  27. if(S.find(" ")second == N){

  28. M2.insert(pair(S,N)); cout<<"bor"<

  29. }

  30. cout<<"So'rov Natijasi:"<

  31. for (auto it = M2.begin(); it != M2.end(); ++it){

  32. cout<first<<" "<second<

  33. }

  34. getchar(); getchar();

  35. return 0;}

Dastur natijasi:

Talabalar sonini kiriting: 3

1 - talaba ma'lumotlarini kiriting:

Fam, ismi: Mallayev Oybek

Stipendiyasi: 400000

2 - talaba ma'lumotlarini kiriting:

Fam, ismi: Ishniyazov Odil

Stipendiyasi: 500000

3 - 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. Tartiblanmagan assotsiativ konteynerlar

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< class Key, class Hash = std::hash,
class KeyEqual = std::equal_to,
class Allocator = std::allocator> class unordered_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_set iteratorlari:

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_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


  • typedef Key key_type;




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.

Download 2,04 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish