【c++学习】vector向量容器

  • vector向量容器可以像数组一样对元素进行随机访问,而且还能在尾部插入元素
  • 向量容器使用动态数组存储、管理对象。完全可以代替数组。
  • 在尾部添加速度很快,在中间插入慢。

使用

向量容器的类名是vector。包含在vector的头文件中“#include”

#include <vector>
using namespace std;

int main(){
    vector<int> v1(10);          //包含10个数,初始化为0
    vector<int> v2(10,1);   //全部初始化为1
}

下标方式访问

cout<<v1.front()<<" "<<v1[3]<<"   "<<v1.at(10)<<" "<<v1.back();
//分别表示第一个,第4个,等11个,最后一个元素

用迭代器访问vector元素

vector<int>::iterator iterator;
    for (iterator = v1.begin(); iterator < v1.end(); ++iterator) {
        cout<<*iterator<<endl;
    }

其它方法

cout<<v1.capacity()<<" "   //返回不重新分配空间可以插入v1的元素的最大个数
<<v1.empty()<<" "           //返回v1是否为空,空,true
<<v1.size()<<" "            //返回v1的元素个数
<<v1.max_size();            //返回可以插入v1的最大元素个数


v1.swap(v2);    //交换v1与v2

删除

vector<int>::iterator iterator;

v1.erase(v1.begin(),v1.end()-5);//位置为迭代器位置
for (iterator = v1.begin(); iterator < v1.end(); ++iterator) {
    cout<<*iterator<<endl;
}

插入

vector<int>::iterator iterator;
v1.insert(v1.begin(),4);//插入到之前
for (iterator = v1.begin(); iterator < v1.end(); ++iterator) {
    cout<<*iterator<<endl;
}
发布了136 篇原创文章 · 获赞 18 · 访问量 4181

猜你喜欢

转载自blog.csdn.net/xcdq_aaa/article/details/105115020