第一次看到stack,以为它是一个和vector同等地位的容器,其实不是
官方解释:stacks are a type of container adaptor, specifically designed to a LIFO context(last-in-first-out), where elements are inserted and extracted only from one end of the container
其实我们手机充电时,连接usb口和插孔的那个大家伙,就是适配器。本质上,适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样。
先贴一个stack应用的例子吧:
#include <iostream>
#include <stack> using namespace std; int main()
{
stack<int> intStack;
for(size_t i = ; i != ; i++)
intStack.push(i);
while(!intStack.empty){
int val = intStack.top(); //返回栈顶元素,但不弹出
cout << val;
intStack.pop(); //弹出栈顶元素,但不返回该元素值
}
cout << endl;
return ;
}
seg_container_adaptor_stack