|
Chiziqli konteynerlar (array, vector, deque, list, forward list)
|
bet | 5/7 | Sana | 25.05.2024 | Hajmi | 4,23 Mb. | | #253274 |
Bog'liq 1-mustaqil ish dasturlashChiziqli konteynerlar (array, vector, deque, list, forward list).
Standart shablonlar kutubxonasi – C++ shablon sinfining to’plami bo’lib, dasturlashning umuniy struktura va funksiyalarini o’z ichiga oladi. Masalan, ro’yxat, stack, massiv va boshqalar. Bu sinflar, algoritmlar va konteynerlar iteratorlarining kutubxonasi hisoblanadi.
C++ STL 3 ta komponentga ega:
Algoritm sarlavhasi ma’lum oraliq elementlariga qo'llash uchun
mo'ljallangan maxsus funksiyalar to'plamiga ega. Bu funksiyalar konteynerga
ishlatiladi va konteyner tarkibi uchun turli xil operatsiyalarni bajarishi vositalarini
taqdim etadi.
Algoritm nima qila oladi?
Konteynerlar yoki sinf konteynerlari ma’lumot va obyektlarni saqlaydi.Quyidagi
konteynerlar mavjud:
Ketma-ketlikni qiymatini qayta ishlash uchun iteratordan foydalaniladi. Interatorlar kolleksiya obyektlarining elementlari orqali o’tish uchun ishlatiladi. Bu kolleksiyalar konteynerlar yoki to’plam osti konteynerlar bo’lishi mumkin.
Standart shablon sinflar bibliotekasi.
Biblioteka yadrosi uchta elementdan iborat: konteynerlar, algoritmlar va iteratorlar. Konteynerlar (containers) – bu boshqa elementlarni saqlovchi obyektlar.
Masalan, vektor, chiziqli ro‘yxat, to‘plam. Assotsiativ konteynerlar (associative containers) kalitlar yordamida ularda saqlanadigan qiymatlarni tezkor olish imkonini yaratadi. Har 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 obyektlar. Ular massiv elementlariga ruxsat oluvchi ko‘rsatkichlar kabi, konteyner ichidagiga ruxsat olish imkoni beradi.
vector dinamik massiv
list chiziqli ro‘yxat
deque ikki tarafli tartib
set to‘plam
multiset har bir elementi noyob bo‘lishi shart emas to‘plam
map kalit/ qiymat juftlikni saqlash uchun assotsiativ ro‘yxat
Bunda har bir kalit bitta qiymat bilan bog‘langan.
Multimap har bir kalit bilan ikkita yoki ko‘proq qiymatlar
bog‘langan
stack stek
queue tartib
priority_queue birinchi o‘rindagi tartib
Sinf a’zolariga ketma-ket kirish huquqiga ega bo'lgan ma'lumotlar tuzilmasini amalga oshirishda ketma-ket konteynerlardan foydalaniladi.
|
| |