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的主要内容,如果未能解决你的问题,请参考以下文章

C++中STL学习笔记——容器之vector

STL学习笔记vector向量数组,创建与遍历树

STL学习笔记vector向量数组,创建与遍历图

STL学习笔记vector

STL学习笔记vector与map的合用vector与vector的合用

STL学习笔记--4序列式容器之vector