2-mavzu: Dinamik va statik massivlarni tashkil etish. Interfeyslar va ularning hisoblash murakkabligi


Download 240.11 Kb.
bet8/8
Sana30.03.2023
Hajmi240.11 Kb.
#1309725
1   2   3   4   5   6   7   8
Bog'liq
2-

front() va back() funksiyalari

Vektorning birinchi va oxirgi yacheykalarining qiymatlarini bilish uchun front() va back() funksiyalarini ishlatamiz.


Ro’yxat. Bu ikki tomonlama bog'langan ro'yxatlarga asoslangan ma'lumotlar strukturasi. Bu shuni anglatadiki, har qanday element faqat oldingi va keyingi elementlar haqida biladi.
Quyidagi rasmda bu qanday ishlashini ko'rsatib beradi:

Ikki tomonlama bog'langan ro'yxatda indekslar mavjud emas, ammo C++ da uning o'rniga iteratorlar mavjud.
List1[2] = 8; // Bu xato!


Dasturchilar tezkor qo'shish va olib tashlash sababli ushbu konteynerdan foydalanadilar. Bu juda tez sodir bo'ladi, chunki elementlarni bir-birining orasidan siljitish shart emas, ko'rsatkichlarni to'g'ri boshqarishingiz kerak.


Yuqoridagi misolda, boshida ikkita element bo'lgan, keyin biz ular orasida bitta element qo'shishga qaror qildik.


Va o'chirish shu tarzda amalga oshiriladi.


Ro’yxat hosil qilish. Dastlab list kutubxonasini ulash lozim.


#include
Oldingi konstruktorlar kabi ro’yxatni e’lon qilamiz:
list
Masalan:
list L = {4, 6, 3, 2}
Ro’yxat bilan ishlash metodlari:



Funksiya nomi

Tavsif

pop_front()

Boshlang’ich elementini o’chirish

pop_back()

Oxirgi elementini o’chirish

push_front()

Boshidan element qo’shish

push_back()

Oxiridan element qo’shish

front()

Birinchi elementiga murojaat

back()

Oxirgi elementiga murojaat

insert()

Ko’rsatilgan joyga element qo'shish

unique()

Barcha dublikatlarni o’chirish

merge()

boshqa ro'yxatni qo'shish

#include


#include
#include

using namespace std;


int main() {


list mylist;
list listmerge = {7, 8, 9};

for (int i = 0; i < 2; i++) {


for (int j = 1; j < 6; j++) {
mylist.push_back(i); // 10 ta element qo'shish
}
}
mylist.insert(mylist.end(), 6); // yangi element qo'shish
cout<

mylist.unique(); // Barcha dublikatlarni o'chirish


list :: iterator it;

for (it = mylist.begin(); it != mylist.end(); it++) {


cout << (*it) << " ";
}
cout<mylist.merge(listmerge); // Ro'yxatni o'zlashtirish
for (it = mylist.begin(); it != mylist.end(); it++) {
cout << (*it) << " ";
}
return 0;
}

Elementlarni o’chirish.


pop_front () va pop_end () usullaridan foydalanib, boshida va oxirida o'chirishga qo'shimcha ravishda, siz quyidagilarni o'chirishingiz mumkin:





  1. Yacheykalar diapazonini.

  2. Ixtiyoriy yacheykani.

  3. Qanday shart asosida biror yacheykani

  4. X qiymatiga ega bo'lgan barcha yacheykalarni

o'chirib tashlash mumkin.

Download 240.11 Kb.

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




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