标签:
在我看来,vector 这东西应该就是数组的加强版
使用时需要头文件 #include <vector>
关于 vector 容器的优点: ①是不容易出现溢出,它会自动调整数据大小来容纳你放入的元素 ②是它有很多方法可以操作其中的元素
声明&初值化:
vector < type > name
例:
vector <int > a; //声明一个int 型向量a
vector <int > b(10); //声明大小为10的 int 型向量b
vector <int > b(a); // 利用向量a初值化向量b
vector <int > c(10,2); //声明大小为10,且数据初始化为2的的向量c
vector <int > d(c.begin(),c.begin()+2);//利用向量c 第0,1元素初值化向量d 共计2个元素
当然也可以用数组来初值化,这里不给例了;
输入、输出:
和数组一样,可以使用cin,cout对向量进行输入输出操作,当然也可以利用其中的函数
cin>>a[0];
基本函数&操作:
.size //返回向量中元素个数
.empty //返回向量是否为空
.clear //清空向量中元素
.erase //删除某个(些)元素
= //复制向量
== //判断向量是否相等
.insert //在某位置插入元素
.push_back //在当前向量的最后位置插入元素(对于多维向量来说可以插入向量)
.swap //交换向量
.begin() .end() //返回向量元素的起始位和末位
以上操作均为向量之间操作(废话)( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)
二(多)维向量:
其实就是在声明类型中使用vector 类型,操作与一位向量无其他差别,可当做二(多)维数组使用
例:vector <vector <int > >a
ps: ↑ 这里一定要有个空格,没有的话好像是因为优先级会报错;
(╯‵□′)╯︵┻━┻这白色背景色怎么去啊
其他:
关于size_type :
由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型。
------摘自百科
在下认为,其实就是因为数据储存不一定按1大小来分配,特地弄了个来适应一下,来保存vector长度
例:vector< vector<int> >::size_type u
for (vector< vector<int> >::size_type u = 0; u < a.size(); u++); //就当做平常计数使用的i,j
关于迭代器:
用于遍历向量中的数据
例:vector <int >::iterator b
for(b=a.begin();b!=a.end();b++);
2016.04.03
标签:
原文地址:http://www.cnblogs.com/byzsxloli/p/5349798.html