3. stl tarkibi Sinf-konteynerlar



Yüklə 111,06 Kb.
səhifə3/7
tarix22.12.2023
ölçüsü111,06 Kb.
#189293
1   2   3   4   5   6   7
4-ma\'ruza

Assotsiativ konteynerlar (associative containers) kalitlar yordamida ularda saqlanadigan qiymatlarni tezkor olish imkonini yaratadi.

Xar bir sinf – konteynerida ular bilan ishlash uchun mo‘ljallangan funksiyalar to‘plami aniqlangan. Masalan, ruyxat elementlarni kiritish, chiqarish, va qo‘shish funksiyalarni o‘z ichiga oladi.

  • Algoritmlar (algorithms) konteyner ichidagilar ustidan operatsiyalar bajaradi. Konteyner ichidagilarni initsializatsiyalash, qidirish, saralash va almashtirish uchun algoritmlar mavjud. Ko‘p algoritmlar konteyner ichidagi elementlarni chiziqi ro‘yxatini ifodalaydovchi ketma-ketlik (sequence) bilan ishlash uchun mo‘ljallangan.

  • Iteratorlar (iterators) – bu konteynerga nisbatan ko‘rsatkich sifatida bo‘lgan ob’ektlar. Ular massiv elementlariga ruxsat oluvchi ko‘rsatkichlar kabi, konteyner ichidagiga ruxsat olish imkoni beradi.



Sinf-konteynerlar
STL da quyidagi sinf-konteynerlar aniqlangan:
Asosiy konteynerlar

  • vector dinamk massiv

  • list chiziqli ro‘yxat

  • deque ikki tarafli dvustoronnyaya tartib

  • set to‘plam

  • multiset xar bir elementi noyob bo‘lishi shart emas to‘plam

  • map kalit/ qiymat juftlikni saqlash uchun assotsiativ ro‘yxat. Bunda xar bir kalit bitta qiymat bilan bog‘langan.

  • multimap xar bir kalit bilan ikkita yoki ko‘proq qiymatlar bog‘langan

Xosila konteynerlar

  • stack stek

  • queue tartib

  • priority_queue birinchi o‘rindagi tartib



Konstruktorlar
Ixtiyoriy sinf-konteyner ko‘rsatilmagan xolda konstruktor va destruktorni nusxalovchi konstruktorga ega.
Masalan, vektor sinf-konteynerning konstruktori va destruktori:

vector c

bitta xam elementga ega bo‘lmagan bo‘sh vektorni yaratadi;

vector c1(c2)

ko‘rsatilgan tipdagi boshqa vektorning nusxasini yaratadi (barcha elementlarni nusxasini oladi);

vector c(n)

konstruktor orqali ko‘rsatilmagan xolda yaratilgan n elementli vektorni yaratadi;

vector c(n,x)



x elementning n nusxalari yordamida initsializatsiya etilgan vektorni yaratadi;

~vector()

barcha elementlarni o‘chiradi va xotirani bo‘shatadi.

Ixtiyoriy ob’ekt uchun ko‘rsatilmagan xolda konteynerda saqlanuvchi konstruktor mavjud bo‘lishi shart. Undan tashqari, ob’ekt uchun < va == operatorlar aniqlanish lozim.


Iteratorlar
Itaratorlar bilan ko‘rsatkichlar kabi ishlash mumkin. Ularga *, inkrement, dekrement operatorlarni qo‘llash mumkin. Iterator tipi sifatida xar xil konteynerlarda aniqlangan iterator tip elon qilinadi.
Itoratorlarning beshta tipi mavjud:

Yüklə 111,06 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




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