STL之vector

Posted kun-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL之vector相关的知识,希望对你有一定的参考价值。

STL之vector

只简单介绍一下基础用法,更深层用法自行百度

vector向量容器不但能像数组那样对元素进行随机访问,还能在尾部插入元素,是一种简单、高效的容器。

PS:vector具有内存自动管理功能,对于插入和删除的元素,可动态调整算占内存空间。

使用vector,需要头文件
#include<vector>

创建vector对象

(1)创建vector一维数组对象
 vector<int> v;
 vector<int> v(1,2);
(2)创建vector二维数组对象
vector<int> v[100];//定长
vector<vector<int> > v;//最后两个符号之间要有空格

vector中加入元素

(1)在尾部插入
v.push_back(2);
(2)在任意位置插入
v.insert(v.begin(), 3);//在最前面插入3
v.insert(v.begin() + 2, 3);//在第二个位置前面插入3
v.insert(v.end(), 3);//在最后添加3
(3)计算动态数组v的大小
v.size()

访问v中元素

下标访问法
//一维
v[1]、v[2]、v[3]······
//二维
v[0][0]、v[0][1]、v[0][2]····
v[1][0]、v[1][1]、v[1][2]····
v[2][0]、v[2][1]、v[2][2]····
迭代器访问法
vector<int>iterator it;
for(it = v.begin(); it != v.end(); it++){
    cout<<*it<<" ";
}

vector中删除元素

v.erase(v.begin() + 2);//删除第二个元素,从0开始计数
v.erase(v.begin()+1, v.begin()+5);//删除区间(1, 5)之间的元素

翻转v中的元素

//reverse()包含在#include<algorithm>头文件中
reverse(v.begin(), v.end())

对v中元素排序

//sort()包含在#include<algorithm>头文件中
sort(v.begin(), v.end())

以上是关于STL之vector的主要内容,如果未能解决你的问题,请参考以下文章

STL之vector4

STL之vector

STL之vector

超详细STL之基于源码剖析vector实现原理及注意事项

超详细STL之基于源码剖析vector实现原理及注意事项

STL之vector容器详解