|
Chiziqli konteynerlarni turlari
|
bet | 6/7 | Sana | 25.05.2024 | Hajmi | 4,23 Mb. | | #253274 |
Bog'liq 1-mustaqil ish dasturlashChiziqli konteynerlarni turlari:
array - statik doimiy massiv;
vector – dynamik doimiy massiv;
deque - ikki tomonlama navbat;
forward_list - bog'langan ro'yxat;
list – ikki tomonlama bog'langan ro'yxat.
array sinfi shabloni
template
struct array;
array - N o'lchamdagi massivni o'rab turadigan konteyner.
Misol: Array
vector sinfi
Vector sinfining shabloni:
template< class T,
class Allocator = std::allocator
> class vector;
namespace pmr {
template
using vector = std::vector>;
}
1) std :: vector - o'zgaruvchan kattalikdagi ketma-ket konteynerni qamrab oluvchi massiv.
2) std :: pmr :: vector shablon taxalluslari polimorf ajratuvchi yordamida.
Allocator - elementlar uchun xotira ajratishda ishlatiladigan sinf.
vector sinfining funksiya – a’zolari
vector sinfining modifikatorlari
deque sinfi
Deque sinfining shabloni:
template
class Allocator = std::allocator
> class deque;
std :: deque (ikki tomonlama navbat) - indekslangan ketma-ket konteyner, bu sizga elementlarni boshidan va oxiridan tezda kiritish va olib tashlash imkonini beradi. Bundan tashqari, ikki tomonlama navbatning ikkala uchiga o'rnatish va o'chirish ko'rsatgichlar va boshqa elementlarga bog'lanishlarni qoldiradi.
std :: vektordan farqli o'laroq, deque elementlari doimiy ravishda saqlanmaydi: odatda bu belgilangan o'lchamdagi ajratilgan qatorlar to'plamidan foydalanib amalga oshiriladi. deque avtomatik ravishda qayta ishlanadi, kerak bo'lganda kengayadi. deque kengaytmasi std :: vector kengaytmasiga qaraganda qulayroq, chunki u mavjud elementlarni yangi xotiraga nusxalashni talab qilmaydi.
|
| |