onteynerlar — bu boshqa elementlarni saqlash uchun mo‘ljallangan sinflar shablonlaridir. Konteynerlar asosiy xususiyati shundaki ular ixtiyoriy tipdagi elementlarni o‘zida saqlash uchun mo‘ljallangan. To‘g‘rirog‘i, har bir tur uchun shablon nusxasi kerak bo‘lganda, kompilyator tomonidan avtomatik tarzda yaratiladi. Algoritmlar konteyner elementlari ustidan operasiyalar bajaradi. Bibliotekada qidirish, saralash va almashtirish uchun algoritmlar mavjud. Algoritmlar elementlar ketma_ketligi bilan ishlash uchun mo‘ljallangan. Algoritmlar asosiy xususiyati shuki ular ixtiyoriy konteynerlar bilan ishlay oladi.
Konteynerlar asosiy va hosila konteynerlarga ajratiladi. Asosiy konteynerlarga quyidagilar kiradi:
multiset — har bir elementi noyob bo‘lishi shart emas to‘plam
map — kalit/ qiymat juftlikni saqlash uchun assosiativ ro‘yxat. Bunda har bir kalit bitta qiymat bilan bog‘langan.
multimap — har bir kalit bilan ikkita yoki ko‘proq qiymatlarbog‘langan
priority_queue — prioritetli tartib
STL kutubxonasidagi standart shablonlardan foydalanish uchun kerakli header fayllarni dasturga ulash lozim.
vector
Birinchi bo’lib STL dagi vector bilan ishlaymiz. Buning uchun vector header faylini dasturga ulaymiz.
Vector tipidagi o’zgaruvchi yaratamiz. Buning uchun vector var_name
Bu yerda
STL kutubxonasidagi maxsus vectorning ichiga ma’lumot qo’shish uchun
quyidagi funksiyadan foydalaniladi.
push_back( value )
#include
#include
using namespace std;
int main()
{
vector vc; // vectorni e’lon qilish
int a;
cin>>a;
vc.push_back(a);
while(a)
{
cin>>a;
vc.push_back(a);
}
for(int i=0;i
cout << vc[i] << endl;
return 0;
}
Ro’yxat
STL kutubxonasidagi list konteyneri bilan ishlash. Buning uchun eng avvalo list header faylini dasturimizga ulaymiz.
List tipidagi o’zgaruvchini yaratish:
list list_name;
STL kutubxonasidagi maxsus vectorning ichiga ma’lumot qo’shish uchun quyidagi funksiyalardan foydalaniladi.
push_back( value ) – listning oxiriga qo’shish push_front( value ) – listning boshiga qo’shish
List elementlariga murojatni amalga oshirish uchun iteratorlardan foydalanish zarur.
|