一、stack(栈)
栈:LIFO 后进先出;
首先要指出的是,stack并非和STL的其他类模板是独立的容器,stack是自适应容器(容器适配器)
stack<int, deque<int>> s;
stack<int, vector<int>> s;
stack<int, list<int>> s;
STL中实现的stack方法:
s,empty(); s.size();
s.pop(); //弹出一个元素;
s.top(); //查看栈顶元素;
s.push(item) //压入一个元素;
示例代码如下:
1 #include <iostream> 2 #include <stack> 3 #include <vector> 4 #include <list> 5 6 using namespace std; 7 8 int main() 9 { 10 //stack是自适应容器 11 stack<int, deque<int> > a; 12 stack<int, vector<int> > b; 13 stack<int, list<int> > c; 14 15 //默认于a一样是用deque做stack 16 stack<int> d; 17 d.push(25); 18 d.push(10); 19 d.push(1); 20 d.push(5); 21 22 std::cout<< d.size() << std::endl; 23 int size = d.size(); 24 for(int i=0;i<size;++i){ 25 std::cout << "====="<< i << std::endl; 26 std::cout<<d.top() << std::endl; //查看数据并返回 27 //std::cout<<d.pop() << std::endl; //Error,查看数据并返回 28 d.pop(); //弹出数据,但不返回 29 } 30 }
内容待补充.......