Mavzu: Assotsiativ konteynerlar 916 – 22 – guruh talabasi Bajardi : O`razbayeva Dildora Tekshirdi : xorazm – 2023 Mavzu: Assotsiativ konteynerlar



Yüklə 54,7 Kb.
səhifə2/2
tarix17.04.2023
ölçüsü54,7 Kb.
#99295
1   2
3 - mustaqil ish

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.


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.

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

Yüklə 54,7 Kb.

Dostları ilə paylaş:
1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin