- 我最近开了几个专栏,诚信互三!
====> |||《算法专栏》::刷题教程来自网站《代码随想录》。|||
====> |||《C++专栏》::记录我学习C++的经历,看完你一定会有收获。|||
====> |||《Linux专栏》::记录我学习Linux的经历,看完你一定会有收获。|||
====> |||《C#专栏》::记录我复习C#的经历,深度理解,查漏补缺,不定期更新。|||
====> |||《计算机网络专栏》::记录我学习计算机网络,看完你一定会有收获。|||
C++STL栈与队列的实现
- 栈的常用接口
- 双端队列常用接口
- 优先级队列
栈的常用接口
栈最常用的接口有三个,push,pop,top,empty。
push接口在栈顶压入一个数据。
pop接口将栈顶的元素弹出。
top接口返回栈顶的元素。
empty接口用来判断栈是否为空。
栈的模板参数中,第二个参数代表适配器,适配器的作用就是用适配器的类的接口来实现本类所需要的接口。
双端队列常用接口
双端队列内元素的两端均可以为队头或队尾,所以双端队列有两套接口。
还有一些常用接口,用来访问队头和队尾元素。
优先级队列
优先级队列就是数据结构堆,优先级队列可以接受一个仿函数,用来决定该堆是大堆还是小堆。
优先级队列的接口不多。
优先级队列在pop出来后的元素是有序的,可以使用优先级队列实现堆排序。
push进去的元素也会进行建堆操作。