STL C++ Vector用iterator遍历和反转
Vector用iterator遍历和反转
vector是C++中的顺序存储容器,iterator是迭代器。二者配合使用可以非常方便的对一串数据经行增删查改。思想逻辑和其他数据并无本质区别。
一些故名思意的方法:
begin() 迭代器定位到vector的头部
end() 迭代器定位到vector尾部
push_back(x) 添加元素到末尾
pop_back() 从末尾弹出元素
insert(iterator it, x) 在迭代器指向的地方插入数据
clear() 清空向量中所有元素
还有许多函数在菜鸟中有写:
https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html
首先是声明这个vector和iterator
vector表明位置有:
begin()方法:表示开头index
end()方法:表示结尾index
可以将这个赋值给迭代器,使他能够通过索引寻找顺序容器中的值。
用iterator来遍历vector:正向遍历和逆向遍历。
insert()是一个非常耗时的操作。使用一个中间变量,然后用反向迭代器去遍历效率会高很多。所以需要反转vector的话,不建议使用insert()方法把数据插入头部。
使用另一个vector来存反转的vector耗时稍微短一些