本文主要是介绍C++ STL入门教程(4)——stack,queue,priority_queue的使用(附完整程序代码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先,这三者都是顺序容器适配器(适配器(adaptor)是根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型)。
本质上,适配器是使一事物的行为类似于另一事物的行为的一种机制。容器适配器让一种已存在的容器类型采用另一种不同的抽象类型的工作方式实现。
例如,假设deq是deque<int>类型的容器,则可以用deq初始化一个新的栈:
stack<int> stk(deq);//带容器参数的构造函数将容器参数的副本作为其基础值。
一、Stack
Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能——也就是说实现了一个先进后出(FILO)的数据结构。
empty() | 堆栈为空则返回真 |
pop() | 移除栈顶元素 |
push() | 在栈顶增加元素 |
size() | 返回栈中元素数目 |
top() | 返回栈顶元素 |
具体使用方案请参考这道题目的代码。
二、Queue
Queue(队列)是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。
back() | 返回最后一个元素 |
empty() | 如果队列空则返回真 |
front() | 返回第一个元素 |
pop() | 删除第一个元素 |
push() | 在末尾加入一个元素 |
size() | 返回队列中元素的个数 |
具体使用方案请参考这道题目的代码 。
三、Priority_queue
Priority Queues(优先队列)类似队列,但是在这个数据结构中的元素按照一定的断言排列有序。每次更新的复杂度为O(log q.size())。
empty() | 如果优先队列为空,则返回真 |
pop() | 删除第一个元素 |
push() | 加入一个元素 |
size() | 返回优先队列中拥有的元素的个数 |
top() | 返回优先队列中有最高优先级的元素 |
具体使用方案请参考 这道题目的代码。
这篇关于C++ STL入门教程(4)——stack,queue,priority_queue的使用(附完整程序代码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!