C++ dasturlash muhitida ma’lumotlarni massivdan tashqari sal boshqacharoq usulda saqlashning yana bir turi mavjud, ya’ni vektorlar. Vektor elementlari ustida massiv elementlari ustida bajariladigan amallarni bajarish mumkin. Ma’lumotlarni massivda saqlashda elementlar soni oldindan ma’lum bo’lishi kerak. Ayrim paytlarda massivga nechta element kiritilishi ma’lum bo’lmaydi va o’shanda dinamik dasturlashdan foydalanish kerak bo’ladi, ya’ni massivga qo’shiladigan elementga xotira ajratishga to’g„ri keladi. Shunday hollarda vectorklassidan foydalanish mumkin. Vector klassi o’zgaruvchan uzunlikdagi massiv yaratishga yordam beradi. Vektor bu elementlari soni oldindan ma’lum bo’lmagan bir xil toifadagi elementlar ketma-ketligidir. Vektorning massivdan farqi, vector uzunligi oldindan berilmaydi va u dastur bajarilishi mobaynida o’zgarib turadi. Vektor yaratish uchun kutubxonasiga ulanish kerak, ya’ni dastur boshida #includeqatori bo’lishi kerak va vektorni e‟lon qilishning 2 ta usuli mavjud – vektor uzunligini ko’rsatib va bo’sh vektor ko’rinishida.
vectoro‘zgaruvchi_nomi; Masalan, vectortest;bu yerda inttoifali, testnomli bo’sh vektor yaratildi. Vektor elementlariga indeks orqali murojaat qilib bo’ladi, lekin bu ko’rinishda vektor yaratilganda vektor elementiga indeks bilan murojaat qilib qiymat berib bo’lmaydi, ya’ni quyidagi dastur kodi noto’g„ri:
vector vek;vek[0]=123;vek[1]=234; Bu holda vektorga element kiritish quyidagicha amalga oshiriladi: vek.push_back(7);//vectoroxirigayangielement7nikiritishvek.push_front(17);//vectorboshigayangielement17nikiritishvek.pop_back();//vektor oxirgi elementini o’chirish funksiyasi
vek.pop_front();//vektor 1-elementini o’chirish funksiyasi Misol:
#include #includeusingnamespacestd;intmain(){ vector<string>text;stringword; while(word!="0"){text.push_back(word);cin>>word; } for(inti=0;icout<";system("pause"); } Vektor yaratishning 2-usuli xuddi massivga o’xshash bo’lib, unda vektor uzunligi oldindan ko’rsatiladi va berilgan uzunlikka mos barcha elementlarga avtomatik tarzda 0 qiymat beriladi. Vektor elementlariga murojaat xuddi massiv elementlariga murojaat kabi indeks orqali amalga oshiriladi va qiymat berilishi mumkin.
#include #includeusingnamespacestd;intmain() { vector<int>ivec(5); ivec[0]++;//bundavektor0-elementiqiymatibittagaoshirildiivec[1]=11;//vektor1-elementiga11qiymatiberildi for(inti=0;icout<"; system("pause");22 } Natija: 1 11 0 0 0
Agar bu usulda vektor yaratiladigan bo’lsa, push_back()va push_front() funksiyalari vektor uzunligini oshiradi. Misol uchun:
#include #includeusingnamespacestd;intmain() { vector<int> ivec(5);ivec[0]++;ivec[1]=11;ivec.push_back(123); for(inti=0;icout<";system("pause"); } Natija: 1 11 0 0 0 123
Vektor ustida quyidagi funksiyalar orqali amal bajarish mumkin: