stack是一种先进后出的数据结构,它只有一个出口。
栈中只有栈顶的元素才可以被外界使用,因此栈不允许有遍历行为。
栈可以判断容器是否为空。
栈可以返回元素个数。
栈中进入数据——入栈push。
栈中弹出数据——出栈pop。
stack常用接口
// stack常用接口 /* 构造函数: stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式 stack(const stack &stk); //拷贝构造函数 赋值操作: stack& operator=(const stack &stk); //重载等号操作符 数据存取: push(elem); //向栈顶添加元素 pop(); //从栈顶移除第一个元素 top(); //返回栈顶元素 大小操作: empty(); //判断堆栈是否为空 size(); //返回栈的大小 */ #include <bits/stdc++.h> using namespace std; void test01() { // 先进后出 stack<int> s; s.push(10); s.push(20); s.push(30); s.push(40); // 只要栈不为空,就查看栈顶,并执行出栈 cout << "栈大小 " << s.size() << endl; // 4 while (!s.empty()) { cout << s.top() << " "; // 40 30 20 10 s.pop(); } cout << endl << "栈大小 " << s.size(); // 0 } int main() { test01(); } /* 总结: 入栈 — push 出栈 — pop 返回栈顶 — top 判断栈是否为空 — empty 返回栈大小 — size */