insert(p,first,last)p dan oldin [first:last] oraliqdagi
elementlarni qo‘shish
push_back(x) oxiriga yangi x ni qo‘shish
push_front(x) yangi birinchi elementni qo‘shish (ikta uchga ega bo‘lgan navbatlar va ro‘yxatlar uchun)
Elementlarnio‘chirishmetodlari
erase(p)p pozitsiyadagi elementni o‘chirish;
erase(first,last)[first:last] oraliqdagi
elementlarni o‘chirish;
pop_back() oxirgi elementni o‘chirish;
pop_front() birinchi elementni o‘chirish (ikta uchga ega bo‘lgan navbatlar va ro‘yxatlar uchun)
O‘zlashtirishmetodlari
operator=(x) konteynerga x konteynerni
elementlari o‘zlashtiriladi;
assign(n,x) konteynerga x elementning n nusxasi o‘zlashtiriladi (assotsiativ bo‘lmagan konteynerlar uchun);
assign(first,last)[first:last] diapazondagi
elementlarni o‘zlashtirish
Assotsiativmetodlar
find(elem)-elem qiymatga ega bo‘lgan
birinchi elementni pozitsiyasini topadi
lower_bound(elem) -element qo‘yish mumkin bo‘lgan birinchi pozitsiyani to‘padi
upper_bound(elem) -element qo‘yish mumkin bo‘lgan oxirgi pozitsiyani to‘padi
equal_range(elem) -element qo‘yish mumkin bo‘lgan birinchi va oxirgi pozitsiyalarni to‘padi
Assotsiativmetodlar
operator[](k)-k kalitli elementga ruxsat;
find(k)-k kalitli element pozitsiyasini topadi;
lower_bound(k)-k kalitli elementning birinchi pozitsiyasini topadi;
upper_bound(k)-k dan katta bo‘lgan kalitli birinchi elementni to‘padi;
equal_range(k)-k kalitli elementni to‘padi; lower_bound -(quyi chegarasini) va upper_bound -(yuqori chegarasini) topadi.
Boshqametodlar
size()- elementlar soni;
empty()-konteyner bo‘shmi?
capacity()- vektor uchun ajratilgan xotira (faqat vektorlar uchun);
reserve(n)-n elementdan iborat bo‘lgan konteyner
uchun xotira ajratadi;
swap(x) - ikkita konteynerlarni joyini almashtirish;
• ==, !=, <-solishtirish operatorlari
Turli konteynerlarda elementga kirishning turli usullari mavjud. Masalan, vektor va deque "tasodifiy kirish" ni ta'minlaydi, bu sizga konteynerning istalgan elementi bilan unga indeks bo'yicha murojat orqali ishlashga imkon beradi, stek va navbat esa faqat konteynerning eng tashqi elementlariga kirishga ruxsat beradi.
Iteratorlarni e’lon qilish va ulardan
foydalanish
Итератор - это специальный класс, связанный с
соответствующим классом контейнера. Если, например, имеется контейнер
vector , то итератор, которым можно "бегать" по контейнеру будет объявляться так (it - имя, которое мы даем итератору):
vector::iterator it;
У контейнеров есть два метода, которые возвращают итератор на начало контейнера (метод begin()) и
итератор на фиктивный элемент, следующий за концом контейнера (метод end()).Основные операции, которые можно выполнять с любыми итераторами:
== - проверка двух итераторов на равенство.
!= - проверка двух итераторов на неравенство.
++ - инкремент (увеличение итератора), то есть переход к следующему элементу контейнера.
-- -декремент (уменьшение итератора), то есть переход к предыдущему элементу контейнера.
Операторы являются "указателями", то есть чтобы получить доступ к значению элемента, на который указывает итератор, его нужно разыменовать при помощи унарного оператора "*".
Пример вывода всех элементов контейнера при помощи итератора:
for (vector::iterator it = a.begin(); it != a.end();