Chiziqli konreynerlar (array, vector, deque, list, forward list)


Ikki aloqali ro‘yxat (ikkilangan ro‘yxat)


Download 0.62 Mb.
Pdf ko'rish
bet3/4
Sana21.04.2023
Hajmi0.62 Mb.
#1369410
1   2   3   4
Bog'liq
w7SNJjWqKNvv4ApnEgt7btQ7Zr1HauLnnWEaFkms

Ikki aloqali ro‘yxat (ikkilangan ro‘yxat) . list> ikki 
tomonlama iterator orqali T tipdagi elementlarga kirishni taʻminlaydi. Bir aloqali 
ro‘yxatdan farqli o‘laroq, elementlarni belgilangan pozitsiyadan oldin joylashtirildi 
(insert
, emplace, splice funksiyalari), oxiridan qo‘shish va o‘chirish 
(push_back
, emplace_back, pop_back), va iterator ko‘rsatayotgan elementni 
o‘chirish (erase) funksiyalari bilan amalga oshiriladi. *_after funksiyasi mavjud 
emas.
Ikki tomonlama navbat . deque> , maxsus kirish 
iteratori orqali elementlar uchun kirish imkonini beradi. Faqat ro‘yxati kabi, u 
samarali qo‘shish va har ikki tomonidan maʻlumotlar olib tashlash imkonini beradi. 
Indeksga kirish uchun ikkita funksiya ishlatiladi: [] operatori va at(indeks). 


Birinchisidan farqli o‘laroq, ikkinchisi indeksni tekshiradi va qiymati haqiqiy 
bo‘lmasa, out_of_range istisnoga murojaat qiladi. 
Ikki tomonlama navbat konteyneri uchun ro‘yxatni bir xil tarzda har qanday 
holatda elementlarni kiritish va o‘chirish imkonini beradi. Lekin ikki tomonlama 
navbatda bu amallar ular konteyner hajmi, vaqti chiziqli bo‘lishini talab qilishi 
mumkin. Bundan tashqari, oldindan iteratorga saqlangan elementlarni tartibini 
kiritish va o‘chirishni buzishi mumkin shuning uchun xotirada saqlangan 
elementlarning ko‘rsatkichlarini yodda saqlash maqsadga muvofiq (Agar iteratorlar 
ro‘yxat kabi saqlanayotgan bo‘lsa, elementlarga bo‘lgan ko‘rsatkichlar 
o‘chirilmaydi). 
Dinamik massiv (vektor) . Vektor> elementlarga 
maxsus kirish iteratori orqali kirishni taʻminlaydi. Deque dan farqli o‘laroq, u 
kiritish va boshida elementlarni o‘chirish uchun ruxsat bermaydi. Dinamik massiv 
xotiraning uzluksiz bo‘limida ketma-ket saqlangan elementlarning joylashishini 
kafolatlaydi, uning manzili data funksiyasi bilan qaytariladi. Elementlarni qo‘shish 
va oldindan ajratilgan saqlashni tugatishda elementlar ko‘chiriladigan joyga katta 
hajmdagi yangi dinamik qator ajratish mumkin. Eski saqlab o‘chiriladi, va barcha 
saqlangan iteratorlar yo‘qoladi, o‘chirilgan obʻyektlar uchun ko‘rsatkich bo‘lib 
qoladi. 
Dinamik massiv reserve funksiyasi yordamida yetarli hajmda saqlash uchun 
oldindan massivni tayyorlash imkonini beradi (u ko‘chib o‘tishda elementlarni olib 
kelishi mumkin). Saqlash hajmini capacity funksiyasi yordamida bilib olishingiz 
mumkin. shrink_to_fit
funksiyasi haqiqiy ishlatiladigan hajmini ajratadi va 
elementlarni foydalanilmagan xotiradan olib tashlaydi. 

Download 0.62 Mb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling