【C++ STL】Vector

vector

vector可变长数组(动态数组),定义的vector数组可以随时添加数值和删除元素

注意:在局部区域中(比如局部函数里面)开vector数组,是在堆空间里面开的。

在局部区域开数组是在栈空间开的,而栈空间比较小,如果开了非常长的数组就会发生爆栈。

故局部区域不可以开大长度数组,但是可以开大长度vector

头文件:

#include

代码含义
vector<type(int,double,)>a初始化容器a
b = a.front()返回容器第一个值
b = a.back()返回容器最后一个值
a.pop_back()删除最后一个数
a.push_back()在vector后添加一个数
a.size()容器的元素个数
a.clear()
a.resize()
a.insert(it, x)向任意迭代器it插入一个元素x ,O(N),例如a.insert(a.begin()+2,-3)意为在a[2]前插入-3
a.erase(a,b)删除[a,b)的元素
a.begin()首个迭代器地址
a.end()返回最后一个元素后一个位置的迭代器(地址)
a.empty()判断是否为空
#include<bits/stdc++.h>
using namespace std;
vector<int>a ; 
int main()
{
	
	for(int i = 0;i<5;i++)
	{
		a.push_back(i);			
	}
	for(auto it = a.begin();it!=a.end();it++)
		cout<<*it<<" ";					 //result:0 1 2 3 4
	cout<<"\n";
	
	auto b = a.front();
	cout<<b;							//result:0
	cout<<"\n";
	
	b = a.back();
	cout<<b<<"\n";						//result:4

	a.insert(a.begin()+2,-3);
	for(auto it = a.begin();it!=a.end();it++)//遍历vector使用迭代器
		cout<<*it<<" ";				   //result:0 1 -3 2 3 4
	cout<<"\n";
	
	a.erase(a.begin(),a.begin()+3);
	for(auto it = a.begin();it!=a.end();it++)
		cout<<*it<<" ";				  //result:2 3 4
	cout<<"\n";
	
	a.erase(a.begin(),a.begin()+3);
	cout<<a.empty();				//result:1
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值