stack容器本质上是一个栈,栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。栈是一种先进后出的数据结构。
empty()函数:检测栈是否为空。
push()函数:向栈顶插入一个元素
top()函数:返回栈顶元素
size()函数:返回栈的大小
pop函数():从栈顶移除第一个元素
构造函数:
stack
stack(const stack &stk);//拷贝构造函数
stack& operator=(const stack & stk);//重载等号操作符
C++优先队列priority_queue用法
他和queue的不同在于我们可以自定义其中数据的优先级,让优先级高的排在队列前面,优先出队。优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的。
数据类型定义:
priority_queue
Type是数据类型,Container就是容器类型(Container必须是用数组实现的容器,比如vetor,deque等等,不能用list.STL里面默认用的是vector),Functional就是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆。
//升序队列 priority_queue,greater > deq; 对于基本数据类型: priority_queue deq;//默认降序队列 //降序队列 priority_queue ,less > deq;
自定义类型排序:



