STL学习笔记vector
Posted Keep--Silent
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL学习笔记vector相关的知识,希望对你有一定的参考价值。
vector 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。
vector的运用,需要增加头文件#include<vector>
clear()
clear()函数删除当前vector中的所有元素.
erase()
iterator erase( iterator loc );
iterator erase( iterator start, iterator end );
比如:
vector<char> alphaVector;
for( int i=0; i < 10; i++ )
alphaVector.push_back( i + 65 );
int size = alphaVector.size();
vector<char>::iterator startIterator;
vector<char>::iterator tempIterator;
for( int i=0; i < size; i++ )
{
tartIterator = alphaVector.begin();
alphaVector.erase( startIterator );
// Display the vector
for( tempIterator = alphaVector.begin(); tempIterator != alphaVector.end(); tempIterator++ )
cout << *tempIterator;
cout << endl;
}
这段代码将会显示如下输出:
BCDEFGHIJ
CDEFGHIJ
DEFGHIJ
EFGHIJ
FGHIJ
GHIJ
HIJ
IJ
J
push_back( )
vector<int> the_vector;
for( int i=0; i < 10; i++ )
the_vector.push_back(i);
insert()
iterator insert( iterator loc, const TYPE &val );
void insert( iterator loc, size_type num, const TYPE &val );
void insert( iterator loc, input_iterator start, input_iterator end );
vector是向量,可以当作数组用,也可以当做链表用。所以,vector数组可以当作邻接表,之后将推出vector做邻接表来解决图的问题。
以上是关于STL学习笔记vector的主要内容,如果未能解决你的问题,请参考以下文章