stack 是一种先进后出(first in last out,FILO)的数据结构,它只有一个出口,stack 只允许在栈顶新增元素,移除元素,获得顶端元素,但是除了顶端之外,其他地方不允许存取
元素,只有栈顶元素可以被外界使用,也就是说 stack 不具有遍历行为,没有迭代器。
特性总结: 栈不能遍历,不支持随机存取,只能通过 top 从栈顶获取和删除元素.
1 #include <iostream> 2 #include <stack> 3 using namespace std; 4 5 // stack 构造函数 6 // stack<T> stkT;//stack 采用模板类实现, stack 对象的默认构造形式: 7 // stack(const stack &stk);//拷贝构造函数 8 9 // stack 赋值操作 10 // stack& operator=(const stack &stk);//重载等号操作符 11 12 // stack 数据存取操作 13 // push(elem);//向栈顶添加元素 14 // pop();//从栈顶移除第一个元素 15 // top();//返回栈顶元素 16 17 // stack 大小操作 18 // empty();//判断堆栈是否为空 19 // size();//返回堆栈的大小 20 21 void test01() 22 { 23 // 初始化 24 stack<int> s1; 25 stack<int> s2(s1); 26 // stack 操作 27 s1.push(10); 28 s1.push(20); 29 s1.push(30); 30 s1.push(100); 31 cout << "栈顶元素:" << s1.top() << endl; 32 while (!s1.empty()) 33 { 34 cout << s1.top() << " "; 35 s1.pop(); 36 } 37 cout << endl; 38 cout << "size: " << s1.size() << endl; 39 cout << "------------------" << endl; 40 } 41 42 int main() 43 { 44 test01(); 45 getchar(); 46 return 0; 47 }