c++ 顺序容器适配器

第一次看到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应用的例子吧:

技术分享
 1 #include <iostream>
 2 #include <stack>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     stack<int> intStack;
 9     for(size_t i = 0; i != 10; i++)
10         intStack.push(i);
11     while(!intStack.empty){
12         int val = intStack.top();  //返回栈顶元素,但不弹出
13         cout << val;  
14         intStack.pop();  //弹出栈顶元素,但不返回该元素值
15     }   
16     cout << endl;
17     return 0;
18 }
seg_container_adaptor_stack

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。