Библиотека STL (Standart Template Library)
Страница 7. Дальше о векторе


Дальше о векторе

Я уже говоил о инициализации вектора. В дополнение можно сказать, что вектор можно инициализировать с заранее установленными значениями. Вот пример демонстрирующий и доступ к данным вектора через [].

vector vVec(5,10);
for (int x=0;x < 5;x++)
cout << vVec[x] << endl;

У вектора есть много полезных функций. Например, заполнить часть вектора необходимыми данными. В данном примере первые три элемента заполняются цифрой два:

vVec.assign(3,2); 
for (x=0;x < 5;x++)
cout << vVec[x] << endl;

Можно получить первый и последний элемент вектора, для этого есть функции front() и back().

vVec.assign(5,1);
vVec[0]=0;
vVec[4]=4;
cout << vVec.front() << " " << vVec.back() << endl;

Вставку элемента с перемещением можно сделать функцией insert. Вставка производится в первую позицию с перемещением элементов вниз.

for (x=0;x < 5;x++)
cout << vVec[x] << " ";
cout << endl;
vVec.insert(vVec.begin(),25);
for (x=0;x < 6;x++)
cout << vVec[x] << " ";
cout << endl;

Можно поместить число в конец вектора воспользовавшись функцией push_back():

vVec.push_back(99);
for (x=0;x < 7;x++)
cout << vVec[x] << " ";
cout << endl;

Можно удалить последний элемент с сокращением размера:

vVec.pop_back();
for (x=0;x < vVec.size();x++)
cout << vVec[x] << " ";
cout << endl;

Для удаления используеться функция erase():

vVec.erase(vVec.begin()+2,vVec.begin()+4 ); 
for (x=0;x < vVec.size();x++)
cout << vVec[x] << " ";
cout << endl;

Изменяет размер вектора функция resize():

vVec.resize(3);
for (x=0;x < vVec.size();x++)
cout << vVec[x] << " ";
cout << endl;

 
« Предыдущая статья   Следующая статья »