Konteynerlar, algoritmlar va iteratorlar



Yüklə 34,61 Kb.
səhifə1/5
tarix23.05.2023
ölçüsü34,61 Kb.
#120837
  1   2   3   4   5
Nasridinova Mohinur


Mavzu:Sinf shablonlarini yaratish.Shablon tavsifi sintaksisi.
Reja:
1.STL tarkibi.
2.Shablonlar bilan ishlash.
3.Shablon tavsifi va sintaksisi.

1. Biblioteka yadrosi uchta elementdan iborat: konteynerlaralgoritmlar va iteratorlar.


Konteynerlar (containers) – bu boshqa elementlarni saqlovchi ob’ektlar. Masalan, vektor, chiziqli ro‘yxat, to‘plam.
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ə 34,61 Kb.

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




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