栈,队列

栈的声明
#include<stack>
stack<int>a;

栈的性质:先入后出(相当于一个桶,只能拿走最上面的那个元素)

栈的内置函数:

#include<stack>
stack<int>a;


a.push(x);   //将x压入栈a中

a.top();  	//返回栈顶元素

a.pop();    //弹出栈顶元素

a.size();    //测量栈的大小(元素个数)

a.empty();   //判断是否为空栈

a.swap();    //交换内容

队列

队列的声明
#include<queue>

queue<int>q;

队列的性质:先入先出(相当于排队,只能到最后面排队,最前面的处理完事情就走)

队列的内置函数:

#include<queue>

queue<int>q;

q.push(x);		//将x压入队列

q.front();		//访问队列最前端元素

q.back();		//访问队列最后一个元素

q.empty();		//判断是否为空队列

q.size();		//返回队列大小

q.pop();		//将最前端元素压出

q.swap();		//交换元素

特殊队列

优先队列

与队列性质相似,但其最先返回的是优先级较高的元素(可以看作,每进入一个元素到队列,其都会排序,优先级高的在前面,低的在后面)

####优先队列的声明

#include<queue>

priority_queue<int>pq;		//整数越小,优先级越低的优先队列

priority_queue<int,vector<int>,greater<int> >;//(注意最后两个">"之间有一个空格)升序队列

priority_queue<int,vector<int>,less<int> >;//降序序列

可以定义一个结构体,重载"()"运算符,从而达到自定义优先级的目的

如:

struct cmp
{
  bool operator ()(const int a,const int b)
  {
      return a%10<b%10;
  }
};

priority_queue<int,vector<int>,cmp>//个位数越小优先级越高
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值