【C++】vector中的常见函数和使用

前言

感觉vector在目前阶段很常用,就总结记录一些vector的用法
方便自己忘记的时候查找

因为是自用,所以我直接放代码了,只说明如何使用,以及一些小的注意点,对于函数具体实现过程,在这篇文章中,不做过多说明

当然,我也给出了一些使用例子,供大家参考

本文参考:
C++vector操作

代码

#include<iostream>
#include<vector>

using namespace std;

int main()
{
	vector<int>a, b;
	//创建向量a和向量b

	a.assign(b.begin(), b.begin() + 3);
	//将b的下标为0-2的元素赋给a

	a.assign(4, 2);
	//清空a,并向其中存入4个2

	a.back();
	//返回a的最后一个元素

	a.front();
	//返回a的第一个元素

	int i = 3;
	a.at(i);
	//访问下标为i的元素

	a.clear();
	//清空a中的元素

	a.empty();
	//判断a是否为空,空则返回true 非空则返回false

	a.pop_back();
	//删除a的最后一个元素

	a.erase(a.begin(), a.begin() + 1);
	//删除从第0个元素到第1个元素 即删除下标为0的元素

	//使用erase的例子
	/*vector<int>a{ 1,2,3,4,5,6 };

	a.erase(a.begin(), a.begin() + 1);

	for (int ii : a)
	{
		cout << ii << endl;
	}*/

	a.push_back(1);
	//在a的最后一个元素后面放入5

	//使用push_back()的例子
	//vector<int>a{ 1,2,3,4,5,6 };
	//a.push_back(5);

	//for (int ii : a)
	//{
	//	cout << ii << endl;
	//}

	a.insert(a.begin(), 5);
	//在a的下标为0的位置 插入5 剩下的元素统一向后移动一位

	//使用insert的例子
	/*vector<int>a{ 1,2,3,4,5 };
	a.insert(a.begin(), 5);

	for (int ii : a)
	{
		cout << ii << endl;
	}*/

	a.insert(a.begin(), 3, 5);
	//从a的下标为0的位置开始 插入3个元素 其值为5

	//使用insert的例子
	/*vector<int>a{ 1,2,3,4,5 };
	a.insert(a.begin(), 3, 5);

	for (int ii : a)
	{
		cout << ii << endl;
	}*/

	vector<int>b  = { 10,9,8,7,6,5,4 };
	int c[7] = { 11,12,13,14,15,16,17 };
	a.insert(a.begin(), b.begin() + 3, b.begin() + 6);
	//在a下标为0的位置,将b从下标为3的位置开始到下标为6的元素插入
	a.insert(a.begin(), c[2], c[4]);
	//在a下标为0的位置,将c从下标为2到下标为4的元素插入

	//使用insert的例子
	//vector<int>a = { 1,2,3,4 };
	vector<int>b = { 10,9,8,7,6,5,4 };
	//int c[7] = { 11,12,13,14,15,16,17 };
	//a.insert(a.begin(), b.begin() + 3, b.begin() + 6);
	//for (int ii : a)
	//{
	//	cout << ii << endl;
	//}
	//a.insert(a.begin(), c[2], c[4]);
	//for (int ii : a)
	//{
	//	cout << ii << endl;
	//}

	a.size();
	//返回a的元素个数

	a.capacity();
	//返回a在内存中总共可以容纳的元素个数

	a.resize(10);
	//将a现有的元素个数调整为10,多则删,少则补 值随机
	
	a.resize(10, 2);
	//将a现有的元素个数调整为10,多则删,少则补 值为2

	a.reserve(100);
	//将a的容量扩充至100

	a.swap(b);
	//交换a和b中的所有元素
	return 0;
}

注意点

注释1

	vector<int>a = { 1,2,3,4 };
	int c[7] = { 11,12,13,14,15,16,17 };
	a.insert(a.begin(), c[2], c[4]);
	for (int ii : a)
	{
		cout << ii << endl;
	}

当我们这么编写代码时,我们的本意是将从c[2] 到c[4]的元素插入a的第一个元素的位置
但运行结果是:
在这里插入图片描述
我们可以知道,如果要连续插入到不是容器中的元素时,是无法实现我们想要的目的的

常见用法

对于vector我们在做题时,通常会用到以下函数
sort排序
reverse逆置
find查找

以及用copy实现两个向量之间的复制

在此只是提一嘴,不做详细介绍,相信大家基本都会使用这些函数

结语

对于vector的常见用法的介绍和学习到这里就结束了,希望对你有帮助,我们下篇文章见~
今天先简单水一篇(bushi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值