STL专题---vector

STL专题—vector

定义: 向量 / 变长数组

如何使用#include<vector>
using namespace std;
如何定义:1.vector< typename > name;
typename可以是任意基本类型,例如int、double、char、结构体等,也可以是STL标准容器,例如vector、set、queue 等。
: 当typename是STL标准容器时, >>加空格vector<vector<int> > name;
2.vector数组的定义:vector<int> v[10]; v[i]即是一个vector容器
如何访问元素
1.通过下标访问

	vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
	printf("%d %d",v[0],v[1]);

2.通过迭代器访问

	vector<int >::iterator it//利用*it访问
	vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
	it=v.begin();//取v的首元素的地址
	for(int i=0;i<4;i++){
		printf("%d ",*(it+i));
	}
/*	
注:v.bgin()  取首元素的地址
   v.end() 取尾元素地址的下一个地址 
*/


/*另一种写法:*/
	for(vector<int>::iterator it=v.begin();it!=end();it++){
		printf("%d",*it);
	}



常用函数
1.push_back(x):vector尾部添加一个元素x

vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
  1. pop_back():删除vector尾部元素
	vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
	v.pop_back();//删除尾元素4

3.size():返回vector中元素的个数

	vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
	printf("%d",v.size());

4.clear():清空vector元素
5.insert ( it , x ) : 向vector的任意迭代器it处插入一个元素x

	vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
	vector<int>::iterator it=v.begin();
	v.insert(it+1,8);//v[1]处插入8

6.erase ( it ) : 删除迭代器it处的元素

	vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
	vector<int>::iterator it=v.begin();
	v.erase(it+3);//删除v[3]

erase ( first, last ) : 删除迭代器first到last区间(不包含last)内元素

	vector<int> v;
	for(int i=1;i<5;i++){
		v.push_back(i);
	}
	vector<int>::iterator it=v.begin();
	v.erase(it,it+3);//删除v[0] v[1] v[2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值