顺序访问vector的方式
转自文档:
https://wenku.baidu.com/view/97fc55f358fafab068dc027a.html
- vector是向量类型,他可以容纳各种类型的数据,如若干个整数,所以被称为容器,使用时需要包涵#include的头文件
- 一,vector的初始化,有5种方法:
- 1.vectora(10);//定义了10个整型元素的向量,(尖括号中是类型名,可以是任何类型),但没有给出初值,他的值是不确定的。
- 2.vectora(10,1);//定义了10个整型元素的向量,它的初值为都为1。
- 3.vectora(b);//用b向量来创建a向量,整体性赋值。
- 4.vectora(b.begin(),b.begin()+3);//定义了a值为b中的第1个元素到第2个元素,(共3个元素)。
- 5.int b[7]={1,2,3,4,5,6,7};vectora(b,b+7);//从数组中获得初值
- 二,vector对象的几个重要操作,举例说明:
- 1.a.assgin(b.begin(),b.begin()+3);//b为向量,将b中0~2的元素赋给a
- 2.a.assgin(4,2);//a只含4个元素,且每个元素都为2
- 3.a.back();//返回a的最后一个元素
- 4.a.front();//返回a的第一个元素
- 5.a[i];//返回a的第i个元素,当且仅当第i个元素存在
- 6.a.clear();//清空a的所有元素
- 7.a.empty();//判断是否为空,为空返回true,不为空返回false
- 8.a.pop_back();//删除a向量的最后一个元素
- 9.a.erase(a.begin()+1,a.begin()+3);//删除a中第1~3个元素,(a.begin()+1表示地址,相当于数组中的a[1])
- 10.a.push_back();//在a的最后一个向量插入一个元素值为5
- 11.a.insert(a.begin()+1,5);//在a的第一个元素位置插入数值5,例如:a为1,2,3,4,插入后为1,5,2,3,4
- 12.insert(a.begin()+1,3,5);//在a的第一个元素位置插入3个数值都为5
- 13.insert(a.begin()+1,b+3,b+6);//b为数组,在a的第一个元素位置插入b的第4~6的元素,例如:b为1,2,4,5,6,7,8,9,插入后为:5,5,6,5,6,7,8,3,2,2
- 14.a.size();//返回a中元素的个数
- 15.a.capacity();//返回a在内存中可以容纳的元素个数
- 16.a.rezize(10);//将a中元素个数调至10个,多则删,少则补,其值随机
- 17.a.rezize(10,2);//将a中元素个数调至10个,多则删,少则补,其值为2
- 18.a.reserve(100);//将a容量(capacity)扩充至100,也就是说现在测试a.capacity()的返回值为100,这样的操作只有在给a添加大量数据时,才有意义,因为这样会避免多次容量扩充操作,(当a的容量不足时电脑自动扩充,当然必然降低性能)
- 19.a.swap(b);//b做为向量,将a中的元素和b中的元素进行整体的交换
- 20.a==b;//b作为向量,还可以进行的操作!,>=,<=,>,<
- 三,顺序访问vector的几种方式,举例说明:
- 1.向a中添加元素:
- vectora;
- for(int i=0;i<10;i++)
- a.push_back(i);
2.也可以从数组中选择元素向向量中添加:
int a[10]={0,1,2,3,4,5,6,7,8,9};
vectorb;
for(int i=0;i<10;i++)
b.push_back(a[i]);