Stl (Standard Template Library) kutubxonalari bilan tanishib, uning


Download 0.79 Mb.
Pdf ko'rish
bet9/11
Sana06.05.2023
Hajmi0.79 Mb.
#1435570
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
2-Ma\'ruza matni

Bir aloqali ro‘yxat . forward_list> bir 
tomonlama iterator orqali T tipdagi elementlarga kirishni taʻminlaydi. Ro‘yxatning 
tugunlarini yaratish uchun A::rebind orqali yaratilgan allokatorday foydalaniladi. 
Bir aloqali ro‘yxatning o‘ziga xosligi shundaki, faqat belgilangan joriy tugundan 
keyin elementlarni qo‘shish va o‘chirish mumkin: 
insert_after - element qo‘shish. 
emplace_after – yangi element yaratish. Bunda belgilangan parametrlar uchun 
konstruktor chaqiriladi. 
erase_after - element o‘chirish. 
Birinchi elementdan oldin degan ko‘shimcha aniqlangan pozitsiya mavjud. Bu 
before_begin
va cbefore_begin (const_iterator qaytaruvchilar uchun variant) 
funksiyalari 
yordamida 
bajariladi. 
Shuningdek, 
fl.push_front(item)
funksiyasidan 
foydalanib, 
elementlarni 
oldindan 
joylashtirish mumkin (yuqoridagiga ekvivalent), masalan, quyidagicha dastur 
fragmenti: 
fl.insert_after(fl.before_begin(), item) 
Konstruktorga 
har 
qanday 
parametrlarni 
joylashtirish 
uchun 
fl.emplace_front(...) funksiyasi ishlatiladi. Bunga ekvivalent sifatida quyidagi 
dastur fragmentini yozish mumkin: 
fl.emplace_after(fl.before_begin(), ...) 
pop_front funksiyasi ro‘yxatdan birinchi elementni o‘chiradi.
C++ standart kutubxonasida ro‘yxat konteynerlar xususiyati uchun samarali 
bo‘lgan amallarni bajarishga faqat iteratorlarda foydalanishga ishonchsizligi yuqori 
darajali amallarni qo‘llab-quvvatlash hisoblanadi: 


merge - ikkita tartiblangan ro‘yxatni bir-biriga birlashtiradi, elementlar 
ko‘chirilmaydi lekin o‘ngdan chap ro‘yxatga o‘tiladi 
splice_after
- berilgan ro‘yxatni ko‘rsatilgan elementdan keyin 
joylashtiradi. 
remove – berilgan elementga teng bo‘lgan barcha elementlarni o‘chiradi. 
remove – berilgan pridikat asosida barcha elementlarni o‘chiradi. 
reverse – elementlarni tartibiga murojaat qiladi. 
unique - barcha ketma-ket dublikatlarni o‘chiradi. 
sort - ro‘yxatni joyida tartiblaydi. 
Umuman olganda, bu funksiyalar qandaydir standart algoritmlarga o‘xshaydi, 
lekin juda tez va qulay ishlaydi. Ularga murojaat qilish uchun umumiy ruxsat olish 
kerak, masalan, sort() funksiyasi uchun std::sort(from, to).
Ammo, tasodifiy kirish 
iteratorlari kabi talab qilingan ro‘yxatlar uchun amal qilmaydi. 

Download 0.79 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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