vector
从字面意义上来说,vector意为向量,就是一组具有相同类型元素的集合。实际上vector是容纳相同对象类型的集合。向量实质上和数组是相似的,二者的作用都是容纳,在使用中因为vector具有更好的特性,使用起来更加方便。
初始化vector
vector是一个模版,想要使用vector就必须在头文件位置声明。
#include <vector>
using std::vector;
vector在使用的时候必须说明使用类型,这个类型用尖括号括起来。
vector<int> num;
这样就定义了一个int类型的vector num。由于我们没有给他初始化,现在num是空的vector。初始化的方法有很多,和string十分相像。
vector<T> v1; //v1是一个空的vector,他未来可能容纳元素的类型是T
vector<T> v2(v1); //v2是v1的副本
vector<T> v3=v1; //和第二行初始化语句含义相同
vector<T> v4(n ,val); //v4包含了n个元素,每一个元素的值均是val
vector<T> v5(n); //v5中包含了n个已经初始化的元素
vector<T> v6{val1,val2,...}; //v6包含{}中的所有元素
vector<T> v7={val1,val2,...}; //同v6
在vector上的操作
c++提供了一些对vector的操作。这些操作和string的操作有些类似。
v.empty(); //如果v为空,返回真
v.size(); //返回v的元素的个数
v.push_back(t); //在v尾端假如一个值为t的元素
v[n]; //返回v中第n个位置上元素的引用
v1=v2; //赋值替换
v1={a,b,c..}; //赋值替换
v1==v1; //相等判断
v1!=v2; //不等判断
<,<=,>,>=
遍历访问vector的也可以用范围for来实现。
vector<int> v{1,2,3,4,5,6,7,8,9};
for (auto &i:v)
i*=i;
值得注意的是我们可以用下标来访问元素,但是不可以用下标来添加元素。添加元素只能使用push_back。也就是说vector不允许中间的元素有空缺。
更多相关内容查看我的个人博客:www.yhuiest.top