STL之vector

须知:在尖括号中定义你容器里的元素类型 eg:vector<int> name

1.概述

vector就是所说的向量,我们平时说vector是数组,其实应该区分开。向量是可以扩展的,数组是固定的大小。

2.begin(),end(),front(),back()

stl中的函数begin(),end()和front(),back(),第一个组合是返回容器中的首指针,和末指针,通过       *(begin())获取到第一个元素,可以通过 *(begin()+1)来访问第二个元素;end()区别于begin(),

End()指向vector中最后一个元素之后的一个位置(这意味着它不指向实际的元素,而是表示这是vector的末尾)。

因此,要使用指向最后一个元素,可以使用:.*(end() - 1)

,访问倒数第二个可以通过*( end()-2)。front()和back()可以直接获取第一个和最后一个元素。

3.访问方式at()

通过下标访问元素,尽量用.at(下标)访问,at()函数有异常处理机制,若超出向量大小不会报错。

4.动态增长.push_back()

,在向量末尾添加新元素(注意:只能是相同类型元素),用.push_back(新元素)

5.动态删除.pop_back()

,在向量末尾删除元素,用.pop_back()

元素通常只在 vector 的末尾添加和删除。如果需要从两端添加或删除元素,通常最好使用 deque 而不是 vector。

6.判断向量是否为空.empty()

,.empty(),如果为空返回true,如果为非空返回false

代码:

#include<iostream>
#include<ctime>
#include<vector>
int main(){
	std::vector<int> nums = {1,2,3,4,5};
	nums.push_back(6);
	for(int i = 0;!nums.empty();i++){
		for(int num:nums){
			std::cout<<num<<" ";
		}
		nums.pop_back();
		std::cout<<std::endl;
	}
	std::cin.get(); 
}

运行结果:

可以用emplace或者insert函数进行随机插入,在具体可以去emplace()和insert()查看一下,不同于list和forward_list,vector是连续内存存储,可以position顺序访问。在vector中,insert函数是插在position位置的数的前面的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后天苦海谈话

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值