Режа: Chiziqli ma’lumotlar tuzilmalari. Stl


Elementlarni kiritish metodlari


Download 1.8 Mb.
bet7/10
Sana14.12.2022
Hajmi1.8 Mb.
#1006312
1   2   3   4   5   6   7   8   9   10
Bog'liq
Ìàâçó Chiziqli ma’lumotlar tuzilmalari Statik va di Chiziqli k

Elementlarni kiritish metodlari


qo‘shish

  • insert(p,n,x) p dan oldin x ning n nusxalarini

qo‘shish

  • 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)

Elementlarni o‘chirish metodlari





    • 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‘zlashtirish metodlari





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

Assotsiativ metodlar





    • 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

Assotsiativ metodlar


    • 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.

Boshqa metodlar





  • 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();


Download 1.8 Mb.

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




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