STL常用API(vector、list、deque、map、set、queue、stack、algorithm)

本文详细介绍了STL中的主要容器,包括vector、list、deque、map、set、queue和stack,以及algorithm模块。容器各自的特点和常用方法被逐一解析,例如vector的动态数组特性,list的双向链表结构,map和set的二叉树实现,以及queue和stack的特殊操作。此外,文章还提及了STL中算法的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文用于总结STL常用API!!!本文代码已经上传到github中。

1. STL(标准模板库)

STL提供了一组表示容器、迭代器、函数对象和算法的组件。容器是用来存储若干个类型相同的值;迭代器用来遍历容器;函数对象是类似于函数的对象;算法是完成特定任务的方法。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。

2. 容器的种类?

(本文图片来源于博客:https://www.cnblogs.com/kuotian/p/5314763.html

a. 序列(顺序)容器:各元素之间有顺序关系。元素的排列次序与元素值无关,而是与元素添加到容器里的次序有关。

常用容器:vector(向量)、list(双向链表)、deque(队列)

序列容器的共同方法:

不同容器特有的方法:

                                                                vector容器

#include <iostream>
#include <vector>

using namespace std;

//遍历vector
void print_vector(vector<int> vec)
{
	//方法一
	for (int i = 0; i < vec.size(); i++)
		cout << vec[i] << " ";
	cout << endl;

	//方法二
	vector<int>::iterator ite = vec.begin();
	while (ite != vec.end())
	{
		cout << *ite << " ";
		ite++;
	}
	cout << endl;
}
void main()
{
	//对象初始化
	vector<int> vec;
	vector<int> vec_0(5);//定义长度,初识值为0
	vector<int> vec_3(5, 3);//定义长度,初识值为3

	//遍历vector容器
	print_vector(vec_0);

	//vector推入元素
	vec.push_back(1);

	//第一个元素之前插入5个值为3的元素
	vec.insert(vec.begin(), 5, 3);

	//最后一个元素之后插入5个值为3的元素
	vec.insert(vec.end(), 5, 3);
	print_vector(vec);

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

	//删除区间的元素
	vec.erase(vec.begin() + 2, vec.end());

	//清空vector
	vec.clear();

	//判断是否为空
	bool empty_result = vec.empty();
	cout << empt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值