c++中,什么是容器的适配器?

能不能简单的说一下,或举个例子。... 能不能简单的说一下,或举个例子。 展开
 我来答
cjs89111
推荐于2016-07-04
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
C++编程宝典书上所说的容器适配器常见的有三种

1 stack 堆栈适配器 ( 可用的容器类型 vector deque list)
2 queue 队列适配器 ( 可用的容器类型 deque list)
3 priority_queue 优先级队列 (可用的容器类型 deque vector)

都有 增加--push()和 删除--pop()方法

stack 用法:

#include <iostream>
#include <stack> //堆栈适配器头文件
#include <list>
using namespace std;
int main(void)
{
std::stack< int,std::list<int> > charStack;
cout<<"入栈:"<<endl;
for(int i=0;i<10;i++)
{
cout<<i+66<<endl;
charStack.push(66+i);
}
cout<<"出栈:"<<endl;
int size=charStack.size();
for (i=0;i<size;i++)
{
cout<<charStack.top()<<endl;
charStack.pop();
}
cout<<endl;
return 0;
}

queue用法:
#include <iostream>
#include <queue>
#include <list>
using namespace std;
int main()
{
std::queue< int,list<int> > intQueue;
cout<<"入队:"<<endl;
for(int i=1;i<=10;i++)
{
intQueue.push(i*100);
cout<<i*100<<endl;
}
cout<<"出队:"<<endl;
int size=intQueue.size();
for(i=0;i<size;i++)
{
cout<<intQueue.front()<<endl;
intQueue.pop();
}
return 0;
}

priority_queue 用法:
#include <iostream>
#include <queue>
#include <list>
using namespace std;
int main()
{
std::priority_queue< int,vector<int>,std::greater<int> > intPQueue; //优先级greater<type> 可换成 less<type>
intPQueue.push(100);
intPQueue.push(500);
intPQueue.push(600);
intPQueue.push(200);
intPQueue.push(300);
intPQueue.push(400);
int size=intPQueue.size();
for(int i=0;i<size;i++)
{
cout<<intPQueue.top()<<endl;
intPQueue.pop();
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式