容器适配器

stack
stack 是后进先出的数据结构,只能插入,删除,访问栈顶的元素。
可用 vector, list, deque来实现。缺省情况下,用deque实现。
用 vector和deque实现,比用list实现性能好。
stack 上可以进行以下操作:
push 插入元素
pop 弹出元素
top 返回栈顶元素的引用
queue
和stack 基本类似,可以用 list和deque实现。缺省情况下用deque实现。
同样也有push, pop, top函数。
但是push发生在队尾;pop, top发生在队头。先进先出。
有 back成员函数可以返回队尾元素的引用
priority_queue
priority_queue 通常用堆排序技术实现,保证最大的元素总是
在最前面。即执行pop操作时,删除的是最大的元素;执行top
操作时,返回的是最大元素的常引用。默认的元素比较器是
less。
#include
#include
using namespace std;
int main()
{
priority_queue pq1 pq1.push(3.2); pq1.push(9.8); pq1.push(9.8);pq1.push(5.4);
while( !pq1.empty() ) {
cout << pq1.top() << " ";
pq1.pop();
} //出 上面输出 9.8 9.8 5.4 3.2
cout << endl;
priority_queue<double,vector,greater > pq2;
pq2.push(3.2); pq2.push(9.8); pq2.push(9.8); pq2.push(5.4);
while( !pq2.empty() ) {
cout << pq2.top() << " ";
pq2.pop();
}
//出 上面输出 3.2 5.4 9.8 9.8
return 0;
}
容器适配器的元素个数
stack,queue,priority_queue 都有
empty() 成员函数用于判断适配器是否为空
size() 成员函数返回适配器中元素个数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值