容器适配器实现栈

      C++中的适配器有三种,栈、队列和优先队列,这里介绍的是栈,使用这种容器适配器必须包含相应的头文件,# include <stack> ,默认情况下栈使用deque容器来实现的,要想改变其关联的容器,只要在第二个参数中指定即可,如stack <int,vector<int>> sta;这样就将关联容器改为了vector,栈适配器支持的关系操作符有 ==!=<<=> >=。栈适配器提供的操作有:1.empty()判断栈是否为空 2.size()用来判断栈中元素的个数3.pop()删除栈顶元素但不返回4.top()用于返回栈顶元素,但并不删除其值push(i)将栈顶元素压入栈中

下面是栈适配器的实现代码

      
 # include <iostream>
using namespace std;
# include <stack>
int main()
{
stack<int> sta;
sta.push(1);
sta.push(2);
sta.push(3);
cout<<sta.empty()<<endl;   //栈不为空,应该返回零
sta.pop();
cout<<sta.top()<<endl;     //返回但不删除栈顶元素
sta.pop();
sta.pop();
cout<<sta.size()<<endl;    //栈为空是,大小应为零
cin.get();
return 0;
}

容器适配器实现栈

上一篇:UVALive 4527 Vaccination Centers 搜索+剪枝


下一篇:<算法导论>学习笔记(1)--第1章 算法在计算中的作用