queue(队列):
特点:先进先出
q.push(num) 从后面进队列
q.pop() 从前面出队列
q.front() 读取队列最前面的元素
q.back() 读取队列最后面的元素
deque(双端队列):
特点:两端都可以出进
q.push_front(num) 从前面进队列
q.push_back(num) 从后面进队列
q.pop_front(num) 从前面出队列
q.pop_back(num) 从后面出队列
q.front() 读取队列最前面的元素
q.back() 读取队列最后面的元素
大顶堆priority_queue< int > q :
特点:队列自动排序,队列前面是最大的元素,后面是最小的元素,按照从大到小的顺序排列
q.push(num) 从后面进队列
q.pop() 从前面出队列
q.top() 读取队列最前面的元素(也就是最大的元素)
小顶堆priority_queue<int, vector< int >,greater< int >> q :
特点:队列自动排序,队列前面是最小的元素,后面是最大的元素,按照从小到大的顺序排列
q.push(num) 从后面进队列
q.pop() 从前面出队列
q.top() 读取队列最前面的元素(也就是最小的元素)
参考此处