STL的常用容器以及常用函数

本文介绍了C++中的STL,包括map、vector、queue、stack、set和list等常用容器及其常用函数,如insert、erase、find等,并通过一个简单的计算器例题展示了STL在解决实际问题中的应用。

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

1.STL是什么

在c++中,STL库非常常见,写很多程序都会用到它,可STL库到底是什么呢?
STL:指标准模板库,其代码可以广义分类为:算法,容器(数据结构)与迭代器。
所以我们在c++用的很多数据结构,例如map,set这些都是STL里面的。

2.STL里的常用容器及其常用函数

在了解了STL以后,再来看一下里面的常用容器。

2.1 map

map:拥有一对一的数据处理能力,其中第一个被称为关键字,而第二个就是与这个关键字所对应的值。
头文件#include <map>
创建mapmap<关键字数据类型,值数据类型> 名称

2.1.1map的函数

begin() 返回指向map头部的迭代器
end() 返回指向map末尾的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
erase() 删除一个元素
find() 查找一个元素
insert() 插入元素
lower_bound() 返回键值>=给定元素的第一个位置
upper_bound() 返回键值>给定元素的第一个位置
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map

2.2 vector

vector:简单地说,vector是一个能够存放任意类型的动态数组。
头文件#include <vector>
创建vectorvector<数据类型> 名称

2.2.1vector的函数

begin() 返回指向vector头部的迭代器
end() 返回指向vector末尾的迭代器
front() 返回当前vector容器中起始元素的引用
back() 返回当前vector容器中末尾元素的引用
push_back 在vector容器尾部添加一个元素
pop_back 删除 vector 中最后一个元素
clear() 删除所有元素
empty() 如果vector为空则返回true
erase() 删除一个元素
insert() 插入元素
size() 返回vector中元素的个数
swap() 交换两个vector
resize() 重新分配vector的大小
reserve 重新分配vector的容量

2.3 queue

queue:一种特殊的线性表,是一种先进先出的数据结构。
头文件#include <queue>
创建vectorqueuer<数据类型> 名称

2.3.1queue的函数

begin() 返回指向queue头部的迭代器
end() 返回指向queue末尾的迭代器
front() 返回当前queue容器中起始元素的引用
back() 返回当前queue容器中末尾元素的引用
empty() 如果queue为空则返回true
pop() 删除一个元素
size() 返回queue中元素的个数
swap() 交换两个queue

2.4 stack

stack:一种运算受限的线性表,是一种先进后出的数据结构。
头文件#include <stack>
创建vectorstack<数据类型> 名称

2.4.1stack的函数

push() 将元素压入栈顶
pop() 将栈顶元素弹出
top() 返回栈顶元素
empty() 如果stack为空则返回true
size() 返回stack中元素的个数
swap() 交换两个stack

2.5 set

set:就是集合,不会出现重复的内容。
头文件#include <set>
创建vectorset<数据类型> 名称

2.5.1set的函数

begin() 返回指向set头部的迭代器
end() 返回指向set末尾的迭代器
clear() 删除

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值