C++ STL——vector使用

一、Vector容器简介

vector是将元素置于一个动态数组中加以管理的容器,vector可以随机存取元素。vector在尾部添加或移除元素非常快速,但是在头部和中部进行操作时会比较费时。需要头文件。

二、vector对象的默认构造

#include<vector>
vector<T>name; //默认构造形式
	//↑   ↑
// 类型  变量名称
//例:
vector<int> name1;//存放int的vector容器
vector<float> name2;//存放float的vector容器
vector<string> name3;//存放string的vector容器

三、vector对象带参数构造

/①
vector<beg,end>
//将beg,end区间中的元素进行拷贝。区间左闭右开,如下例:
int iArray[]={0,1,2,3,4};
vector<int> A(iArray,iArray+5);
/vector(n,elem)
//构造n个elem拷贝本身,如下例:
vector<int> B(4,6);//即3个元素,每个元素是9
/vector(const vector &vec)
//拷贝构造函数,如下例:
vector<int> C(A);

四、vector赋值

vector<int> A,B,C,D;
/①
vector.assign(beg,end)//区间中数据进行拷贝,左闭右开,如下
int iArray[]= {0,1,2,3,4};
A.assign(iArray,iArray+5);

B.assign(A.begin(),A.end());
...
/②
vector.assign(n,elem)//n个elem赋值
C.assign(3,9);

/③
vector& operator=const vector &vec);
//重载等号,如下例
D = A;

/④
vector.swap(vec)//将vec与本身互换,例:
A.swap(B);

五、vector大小相关

vector.size();//返回元素个数
vector.empty();//判断是否为空
vector.resize(num);
//重新指定长度为num,若变长则用默认值填充。若变短则超出部分删除。
vector.resize(num,elem)
//重新指定长度为num,若变长则用ele填充。若变短则超出部分删除

六、添加和移除操作

vector<int> A;
A.push_back(1);//尾部添加
A.pop_back();//移除

七、数据访问

vector<int> vec ;
vec.at();//返回索引数据,若越界,抛出异常
vec[];//返回索引数据,若越界则报错
vector.front();//访问头部
vector.back();//访问尾部

八、插入和删除

vector.insert(pos,elem);
//pos位置插入elem,返回新数据位置

vector.insert(pos,n,elem);
//在pos位置插入n个elem,无返回值


vector.insert(pos,beg,end);
//pos位置中插入【beg,end)数据,无返回值


//删除操作
vector.clear();//移除所有数据
vector.erase(beg,end)
//移除【begin,end)数据,返回下一个元素位置

vector.erase(pos)
//移除pos位置元素,返回下个元素位置

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页