STL作为C++的重要组成部分,提供了多种实用容器,极大地方便了编程学习者进行高效开发与实践应用。
1、 队列是queue的中文翻译,作为一种容器,它实现了先进先出的数据结构功能。(图片源自网络)
2、 如何定义并初始化一个队列?
3、 value_type 表示队列中存储的元素类型,如int(32位整数)、char(字符),也可以是用户自定义的结构体类型。
4、 使用队列前,需在头文件中添加include以包含队列库。
5、 queue容器的功能与日常生活中的排队机制非常类似,遵循先进先出的原则。
6、 队列遵循先进先出原则,元素从队尾进入,从队头离开,不允许中途插队。
7、 在队列中对应以下两个内置函数(图片源自网络)
8、 pop() 用于移除队列头部元素,push(x) 将元素 x 添加至队列尾部,x 的类型需与队列定义时的 value_type 一致。
9、 如图
10、 有插入自然也应有查询功能。
11、 与日常生活中的队列不同,queue仅允许访问队首和队尾的元素。
12、 查询队列前端或后端的元素。
13、 如图
14、 队列提供了一些便捷的内置方法。
15、 检查队列是否为空
16、 如图
17、 size() 方法用于获取队列中元素的数量,即统计队列内存放了多少个元素。
18、 如图
19、 别小看队列的内置函数数量有限,它在广度优先搜索中扮演着核心角色。熟悉BFS的人都清楚,其大部分操作都依赖队列来实现,是算法实现过程中不可或缺的关键数据结构。
20、 所示,BFS核心代码实现
评论
更多评论