queue常用函数
push() 在队尾插入一个元素
pop() 将队列中最靠前位置的元素拿掉,是没有返回值的void函数
size() 返回队列中元素的个数,返回值类型为unsigned int
empty() 判断队列是否为空的,如果为空则返回true
front() 返回值为队列中的第一个元素,也就是最早、最先进入队列的元素。注意这里只是返回最早进入的元素,并没有把它剔除出队列
back() 返回队列中最后一个元素,也就是最晚进去的元素
emplace():类似于insert
swap(queue &other_q):将当前 queue 中的元素和参数 queue 中的元素交换。它们需要包含相同类型的元素。也可以调用全局函数模板 swap() 来完成同样的操作。
priority_queue
使用时包含头文件 #include < queue > 和queue不同,它可以定义其中数据的优先级,功能相当于构建了一个大顶堆或小顶堆。
定义:priority_queue<Type, Container, Functional>
Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector),Functional 就是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆
例如:使用了 priority_queue pq;