vector和map都是C++标准库的内容,vector是一个可以存放各种类型的对象。它是同一个类型的集合,每一个对象都有一个对应的整数索引值,类似于string。
vector使用和map一样也要导入自己的头文件 #include <vector>
vector的定义格式:
vector<typename>向量名(数据数量);比如:vector<int>numbel,vector<string>book(10);
vector的初始化:
vector<string>book(10,"chinese");定义10string类型,每个都初始化为"chinese"
vector<string>book(10);定义10个string类型,每个类型都为空
vector<int>book(10);定义10个int类型,每个类型都是0
vector操作函数:
v.empty():如果V为空,则返回true,否则返回false;
v.size():返回V中元素的个数;
v.push_back(t):在V的尾部添加一个值为t的元素;
v.at(idx):返回索引idx所指向的数据
v.back():传回最后一个数据,不检测数据存不存在
v.begin():传回迭代器第一个数据的地址
c.pop_back();//删除最后一个数据
c.insert(pos,elem);//在pos位置插入一个elem的拷贝,传回新数据的地址
c.insert(pos,n,elem);//在pos位置插入n个elem数据,无返回值
c.insert(pos,beg,end);//在pos位置插入在[beg,end)区间的位置,无返回值
c.clear();//移除容器中所有的数据
v[n]:返回v中位置为n的元素;
v1=v2:将V1中的元素替换成v2中的元素;
v1==v2:v1,v2比较,如果相等,返回true,否则返回flase;
vector的下标操作和遍历:
#include <iostream>
#include <vector>
using namespace std;
void main()
{
vector<int>ivec1(10,42); //内置方法,初始化的内容为10个42
vector<int>ivec2(10);
vector<int>::size_type ix=0;
for(ix;ix<10;++ix)
{
ivec2[ix]=42; //下标操作
}
vector<int>ivec3(10);
for(vector<int>::iterator iter=ivec3.begin();iter!=ivec3.end();++iter)
{
*iter=42; //迭代器
}