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; }