龙小爱编程

导航

 

Vector除了可以像数组一样使用下表进行访问,自身也有便利之处。如下:
1、支持自动扩展:声明一个vecor变量时,如果没有预留,则默认容器容量为0,后续插入数据时,容量自动扩展,扩展规则为:1,2,4,8,16。如果有预留,扩展时的规则为2*N,2*2*N依次类推,如果当前内存块不够,则另开辟一块内存,并把之前内存数据拷贝到新创建的内存块中。
2、访问记录方式:(1)下标索引访问 (2) 迭代器访问 (3) 通过stl接口,直接返回最先插入元素
3、初始化方式
4、通过front和back返回第一和最后一个元素
部分操作方法使用如下:

#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[]) {
	vector<int> vSum;
	cout<<"init vSum.capacity="<<vSum.capacity()<<endl;//初始容量
	for(int i=1;i<=5;i++){
		vSum.push_back(i*100);
		cout<<"init vSum.capacity="<<vSum.capacity()<<endl;// 内存分配规则:1,2,4,8依次类推
	}
	int iSum=0;
	cout<<"vSum.capacity="<<vSum.capacity()<<endl;
	while(!vSum.empty()){
		cout<<"vSum.size()="<<vSum.size()<<endl;
		iSum += vSum.back();//优先返回最先插入的数据,结果顺序为:500,400,300,200,100
		cout<<"iSum="<<iSum<<endl;
		vSum.pop_back();//将最先插入的数据删除
	}
	return 0;
}

 结果:

 

posted on 2017-03-13 23:18  龙小爱编程  阅读(113)  评论(0)    收藏  举报