C++模板库(STL)入门——queue队列以及priority_queue优先队列

queue

queue是队列,是数据结构中的先进先出的容器,相当于现实生活中的一只队伍,先进这个数组的元素会先出来。队列在树和图的算法应用非常广泛,深入理解队列建议看数据结构书籍,这里只讲queue容器的应用。

  1. 引入:include<queue>
  2. 定义:queue<type> name;
  3. 访问:我们一般用front()访问首元素,back()访问队尾元素;因为队列的特殊关系,所以其他元素不能访问,只能压入和弹出;
  4. 压入:p.push(i)//把i压出队列
  5. 弹出:p.pop();//弹出队首元素

priority_queue

优先队列是队列元素带优先级的一种特殊队列,队首元素一定是优先级最高的那个元素。

  1. 引入:同queue
  2. 定义:priority_queue<type> name;
  3. 访问:优先队列没有front()和back()函数,只能用top()函数访问队首元素,也就是优先级最高的元素。
  4. 压入:push(x)函数;
  5. 弹出:pop()函数;

priority_queue优先级设置

基本数据类型int、double、char类型,这种类型的优先队列默认会按照数值从大到小设置优先级,char则按照字典序排序。
如果想要按照从小到大设置的话,可以这样定义

priority_quque<int,vector<int>,greater<int>> q;

这种定义方法和之前的比多了两个参数,中间参数vector,int处填写的是你需要用到的数据类型,其他不用修改。最后一个参数greater填写后,会按照从小大大设置优先级,如果设less则是从大到小,即默认设置,int处同样是你需要的数据类型;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值