STL之优先队列

      开始acm暑训的第一天,首先学习了一系列的STL,队列在c++课本上已经有过了,而优先队列则是它的更进一步。
      首先,使用优先队列要有头文件,标明  #include <queue>。
       优先队列相当于一个会自动排序的数组,关于排序的设置,大致有两种形式:
                  1.声明结构体,在结构体内重载运算符"<",例如:
                              struct Student

                            {   string name;
                                int score;                                                这是从大到小的排序
                               bool operator <(Student &st)
                             {  return   score<st.score; 
                              }

                  2.使用less,greater。less是从大到小,greater是从小到大。
                         priority_queue<int,vector<int>,less<int > >q;
                         priority_queue<int,vector<int>,greater<int> >q;
                     注意:最后的> >中间要有空格,不可以连在一起。

      优先队列中还有一系列的函数:
                   q.pop();        删除q中第一个数                                         q.top();        获得q中第一个数
                   q.back( );             获得q中最后一个数                                     q.push(k);            将k放入q的最后
                   q.size( );              获得q中元素的个数                                      q.empty();    判断q是否为空,空返回0,否则返回1
     最后关于优先队列的声明格式:
                priority_queue<int>q;
               priority_queue<double>q;

                   
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值