vector 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度。
vector的运用,需要增加头文件#include
- clear()
- erase()
- push_back( )
- insert()
clear()函数删除当前vector中的所有元素.
erase()iterator erase( iterator loc ); iterator erase( iterator start, iterator end );
比如:
vectoralphaVector; for( int i=0; i < 10; i++ ) alphaVector.push_back( i + 65 ); int size = alphaVector.size(); vector ::iterator startIterator; vector ::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; }
这段代码将会显示如下输出:
push_back( )BCDEFGHIJ
CDEFGHIJ
DEFGHIJ
EFGHIJ
FGHIJ
GHIJ
HIJ
IJ
J
vectorinsert()the_vector; for( int i=0; i < 10; i++ ) the_vector.push_back(i);
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做邻接表来解决图的问题。



