русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Вектори


Дата додавання: 2014-04-22; переглядів: 1458.


Вектори – це, можна сказати, розумні масиви. Вони займаються автоматичним розміщенням себе в пам’яті, розширенням і звуєенням свого розміру в міру вставки чи видалення даних. Вектори можна використовувати в якійсь мірі як масиви, звертаючись до елементів за допомогою звичного оператора []. Випадковий доступ у векторах виконується швидко.

Також доволі швидко здійснюється додавання (чи проштовхування) нових даних в кінець ветора. Коли це відбувається, розмір вектора автоматично збільшується для того, щоб було куди помістити нове значення

 

Методи push_back(), size() i operator[]

У програмі 15.11 приведено приклад найзагальніших векторних операцій

#include<iostream>

#include<vector>

#include<conio>

using namespace std;

int main()

{vector<int> v; //створити вектор типу int

v.push_back(10);

v.push_back(11);

v.push_back(12);

v.push_back(13);

v[0]=20;

v[3]=23;

for(int j=0;j<v.size();j++)

cout<<v[j]<<' ';

cout<<endl;

getch();

return 0;

}

 

 

Програма 15.11

Для створення вектора v використовується штатний конструктор вектора без параметру. Як з будь-якими контейнерами STL, для задання типу змінних, які будуть зберігатися у векторі, використовується шаблонний формат, в даному випадку це тип int. Ми не визначаємо розмір контейнера, тому спочатку він рівний 0.

Метод push_back() вставляє значення свого аргументу в кінець вектора (кінець розміщується там, де знаходиться найбільший індекс). Початок вектора (елемент з індексом 0), на відміну від списків та черг, не може використовуватися для вставки нових елементів.

Як тільки у векторі з’являються які-небудь дані, до них відразу може бути одержаний доступ за допомогою перезавантаженого оператора []. Як бачимо, ми дістаємо доступ до довільного елементу вектора і можемо напряму працювати з ним.

v[0]=20;

v[3]=23;

Результат роботи програми виглядає так:

 

Метод size() повертає поточне число елементів, що містяться в контейнері. Для даної програми це 4. Це значення використовується в циклі for для виводу значень вектора на екран.

Ще один метод, max_size(), повертає максимальний розмір, до якого може бути розширений контейнер. Це число залежить від типу збережуваних в ньому даних.

 


<== попередня лекція | наступна лекція ==>
Послідовні контейнери | Методи swap(), empty(), back() та pop_back()


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн