STL常用容器用法之——queue和priority_queue

Queue简介

queue是队列容器,是一种“先进先出”的容器。

queue是简单地装饰deque容器而成为另外的一种容器。

#include <queue>  

1、queue的添加、删除、获取元素

queue.push(elem);   //往队尾添加元素

queue.pop();   //从队头移除第一个元素

queue.back();   //返回最后一个元素

 queue.front();   //返回第一个元素

2、queue的大小

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

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

例:

while ( !q.empty())
{
int tmp = q.front();
cout << tmp << " ";
q.pop();
}

3、queue对象的拷贝构造与赋值

queue(const queue &que);                    //拷贝构造函数

queue& operator=(const queue &que); //重载等号操作符

 

                   queue<int>queIntA;

                   queIntA.push(1);

                   queIntA.push(3);

                   queIntA.push(5);

                   queIntA.push(7);

                   queIntA.push(9);

 

                   queue<int>queIntB(queIntA);         //拷贝构造

                   queue<int>queIntC;

                   queIntC= queIntA;                              //赋值

优先级队列priority_queue

按照值的大小来决定出队列的顺序,默认是

最大值优先级队列、最小值优先级队列

优先级队列适配器 STL priority_queue

用来开发一些特殊的应用

include <queue>

1、priority_queue的用法

priority_queue<int> p1; //默认是 最大值优先级队列 
//priority_queue<int, vector<int>, less<int> > p1; //相当于这样写 提前定义好的预定以函数  谓词
priority_queue<int, vector<int>, greater<int>> p2; //最小值优先级队列


p1.push(33);
p1.push(11);
p1.push(55);
p1.push(22);
cout <<"队列大小" << p1.size() << endl; // 4 
cout <<"队头" << p1.top() << endl;  // 55

while (p1.size() > 0)
{
cout << p1.top() << " ";  // 55 33 22 11
p1.pop();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值