44
5-rasm. Vektorlar ustida pop_back() va push_back()
metodlarining foydalanish natijasi
3) insert() funksiyasi.
Yuqorida biz push_back() funksiyasini
koʻrsatdik, lekin insert() funksiyasi yordamida
ham shunday qilish
mumkin. Faqatgina u yordamida siz vektorning boshiga elementlarni
qoʻshishingiz mumkin.
insert() funksiyasini quyidagi dasturda qarab chiqamiz:
#include
#include
using namespace std;
int main() {
vector V(2);
V[0] = 2;
V[1] = 3;
for (int i = 0; i < V.size(); i++) {
cout << V[i] << " ";
}
cout << endl;
V.insert(V.begin(), 1); // boshiga element qoʻshish
for (int i = 0; i < V.size(); i++) {
cout << V[i] << " ";
}
cout << endl;
V.insert(V.end(), 4); // Oxiriga element qoʻshish
45
for (int i = 0; i < V.size(); i++) {
cout << V[i] << " ";
}
return 0;
}
front() va back() funksiyalari.
Vektorning
birinchi va oxirgi
yacheykalarining qiymatlarini bilish uchun front() va back()
funksiyalarini ishlatamiz.
2.4. Roʻyxat
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 rasm bu qanday
ishlashini koʻrsatib beradi:
6-rasm. Roʻyxat ma’lumotlar strukturasi
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.
7-rasm. Roʻyxat ma’lumotlar strukturasi elementlari bogʻlanishi
46
Yuqoridagi misolda, boshida ikkita element boʻlgan, keyin biz ular
orasida bitta element qoʻshishga qaror qildik.
8-rasm. Roʻyxat ma’lumotlar strukturasiga element qoʻshish
Oʻchirish xuddi shu tarzda amalga oshiriladi.
9-rasm. Roʻyxatdan elementni oʻchirish
Roʻyxat hosil qilish.
Dastlab list kutubxonasini ulash lozim.
#include
Oldingi konstruktorlar kabi roʻyxatni e‘lon qilamiz: