网站加强队伍建设,wordpress 伪静态 404,网络和网站的区别,线上营销策划方案一、stack
s.push(): 向栈内压入一个成员#xff1b;
s.pop(): 从栈顶弹出一个成员#xff1b;
s.empty(): 如果栈为空返回true#xff0c;否则返回false#xff1b;
s.top(): 返回栈顶#xff0c;但不删除成员#xff1b;
s.size(): 返回栈内元素…一、stack
s.push(): 向栈内压入一个成员
s.pop(): 从栈顶弹出一个成员
s.empty(): 如果栈为空返回true否则返回false
s.top(): 返回栈顶但不删除成员
s.size(): 返回栈内元素的大小 二、queue
s.back() 返回队尾元素
s.empty() 如果队列空则返回真
s.front() 返回队首元素
s.pop() 删除队首元素
s.push() 在队尾加入一个元素
s.size() 返回队列中元素的个数
s.emplace(args) 由args构造 三、priority_queue
q.empty() 如果队列为空则返回true否则返回false
q.size() 返回队列中元素的个数
q.pop() 删除队具有最高优先级的元素值但不返回其值
q.top() 返回具有最高优先级的元素值但不删除该元素
q.push(item) 在基于优先级的适当位置插入新元素
1. priority_queue允许用户为队列中元素设置优先级放置元素的时候不是直接放到队尾而是放置到比它优先级低的元素前面标准库默认使用操作符来确定优先级关系。
2. priority_queue模板类有三个模板参数元素类型容器类型比较算子。其中后两个可以省略默认容器为vector默认算子为less即如果xy判断为真则y排到x前面y先出队。
定义priority_queue对象的示例代码如下
priority_queueint q1
priority_queuepairint,int q2;
priority_queueint, vectorint, greaterint q3;//定义优先级小的先出队
#includeiostream
#includequeue
#includefunctional
using namespace std;int main()
{priority_queueint, vectorint, greaterint que;for (int i 0; i 9; i)que.push(i);while (!que.empty()){cout que.top() ;que.pop();}return 0;
}
输出结果 、 #includeiostream
#includequeue
using namespace std;
struct node
{int x, y;friend bool operator (node a, node b) //标准库默认使用 来确认它们的关系换成就不行了哦{return a.y b.y; // 表示越小越优先表示越大越优先}
};
priority_queuenode que;int main()
{node v;for (int i 0; i 10; i){v.x i;v.y 10 - i;que.push(v);}while (!que.empty()){cout que.top().x , que.top().y endl;que.pop();}system(pause);return 0;
} 输出结果