Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
v_vide_shpor.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
276.8 Кб
Скачать

27. Тізбекті контейнерлер. Векторлар, кезектер.

Контейнер – бұл белгілі бір түрде ұйымдастырылған басқа объектілер жиынын құрайтын объект. Контейнерлер нақты типті объект коллекцияларын басқару үшін арналған. Контейнерлер мысалдары жиымдар (векторлар және ассоциативті жиымдар) және тізімдер (жекеленген тізімдер, кезектер, стектер) болып табылады. Контейнерге объектілерді қосуға болады және оларды одан жоюға болады.Контейнерлерді қолдану программалар сенімділігін жоғарылатуға, мүмкіндік береді.

STL контейнерлері тізбекті және ассоциативті деп бөлінеді. Тізбекті контейнерлер үздіксіз тізбек түріндегі бір типті объектілердің соңғы санын анықтауды қамтамасыз етеді және келесі түрлері бар: векторлар (vector); кезектер (queue ); екі жақты кезектер (deque); тізімдер (list); стектер (stack); приоритеттері бар кезектер (priority-queue).

Кезек («queue») – элементтерін орналастырғанда тізімнің соңына, ал алғанда басынан алатын мәліметтер құрылымы.

Кезек қолдайтын операциялар:

  • frontалғашқы элементке ену

  • push_back – кезек соңына қосу

  • pop_front – алғашқы элементті жою

  • pop_back-соңғы элементті жою

  • #include <iostream>

  • #include <queue>

  • using namespace std;

  • int main() {

  • queue <char> q;

  • q.push('a'); // кезекке элемент қосамыз

  • q.push('b'); // …

  • q.push('c'); // …

  • cout << q.front(); // алғашқы элементті шығару

  • q.pop(); //жою

  • cout << q.front(); // …

  • q.pop(); // …

  • cout << q.front(); // …

  • q.pop(); // …

  • }

  • Нәтижесі:«abc»

vector — C++ стандартты кітапханасының динамикалық жиымда айнымалыға мүмкіндік беретін шаблоны. Vector шаблоны <vector> тақырыптық файлында орналасқан. Егер ектор размерін өзгерту керек болса resize(n) әдісі қолданылады:

vector<int> v(20);

for(int i = 0; i < 20; i++) {

v[i] = i+1;}

v.resize(25);

for(int i = 20; i < 25; i++) {

v[i] = i*2;}

Итератордың көмегімен вектор элементтер қосындысын есептеу мысалы:

vector<int> the_vector;

vector<int>::iterator the_iterator;

for (int i=0; i < 10; i++) {

the_vector.push_back(i);}

int total = 0;

the_iterator = the_vector.begin();

while (the_iterator != the_vector.end()) {

total += *the_iterator; /* Обратите внимание, что доступ к элементу можно получить посредством разыменования итератора */

++the_iterator; }

cout << "нәтижесі=" << total << endl;

Нәтижесі=45

ВЕКТОР <vector> string классы секілді, С++ тілінің стандартты кітапханасы

әдісі

сипаттамасы

Конструкторы

vector::vector

Конструктор по умолчанию. Не принимает аргументов, создает новый экземпляр вектора

vector::vector(const vector& c)

Конструктор копии по умолчанию. Создает копию вектора c

vector::vector(size_type n, const T& val = T())

Создает вектор с n объектами.

vector::vector(input_iterator start, input_iterator end)

Cоздает вектор из элементов, лежащих между start и end



әдісі

сипаттамасы

Деструктор

vector::~vector

Уничтожает вектор и его элементы

Операторы

vector::operator=

Копирует значение одного вектора в другой.O(n)

vector::operator==

Сравнение двух векторов

Доступ к элементам

vector::at

Доступ к элементу с проверкой выхода за границу

vector::operator[]

Доступ к определенному элементу

vector::front

Доступ к первому элементу

vector::back

Доступ к последнему элементу

әдісі

сипаттамасы

Другие методы

vector::assign

Ассоциирует с вектором поданные значения

vector::get_allocator

Возвращает аллокатор, используемый для выделения памяти

Итераторы

vector::begin

Возвращает итератор на первый элемент вектора

vector::end

Возвращает итератор на место после последнего элемента вектора

vector::rbegin

Возвращает reverse_iterator на конец текущего вектора.

vector::rend

Возвращает reverse_iterator на начало вектора.

әдісі

сипаттамасы

Работа с размером вектора

vector::empty

Возвращает true, если вектор пуст

vector::size

Возвращает количество элементов в вектора

vector::max_size

Возвращает максимально возможное количество элементов в векторе

vector::reserve

Устанавливает минимально возможное количество элементов в векторе

vector::capacity

Возвращает количество элементов, которое может содержать вектор до того, как ему потребуется выделить больше места.

әдісі

сипаттамасы

Модификаторы

vector::clear

Удаляет все элементы вектора

vector::insert

Вставка элементов в вектор

vector::erase

Удаляем указанные элементы вектора (один или несколько)

vector::push_back

Вставка элемента в конец вектора

vector::pop_back

Удалить последний элемент вектора

vector::resize

Изменяет размер вектора на заданную величину

vector::swap

Обменять содержимое двух векторов

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]