目录
stack 基本概念
概念:
1、stack 是一种先进后出(First in Last Out,FILO)的数据结构
2、栈中只有栈顶的元素可以被外界使用,所以栈不允许遍历操作
-
3、栈可以判断是否为空(empty)
-
4、栈可以返回元素个数(size)(push 数据时就已进行记录)
-
5、栈中进入数据称为 --- 入栈(push)
-
6、栈中弹出数据称为 --- 出栈(pop)
stack 常用接口
功能:
- 栈容器中常用的对外的接口
函数原型:
构造函数
- stack 采用模板类实现
// stack 采用模板类实现,stack 对象的默认构造形式 stack<T> stk; // 拷贝构造函数 stack(const stack& stk);
赋值操作
// 重载等号操作符 stack& operator=(const stack& stk);
数据存取
// 向栈顶添加元素 push(elem); // 从栈顶移出第一个元素 pop(); // 返回栈顶元素 top();
大小操作
// 判断堆栈是否为空 empty(); // 返回栈的大小 size();
测试代码:
#include<iostream>
using namespace std;
#include<stack>
void test() {
stack<int>s;
// 入栈
s.push(10);
s.push(20);
s.push(30);
cout << "栈的大小:" << s.size() << endl;
// 只要栈不为空,查看栈顶
while (!s.empty())
{
// 查看栈顶元素
cout << "栈顶元素为:" << s.top() << " ";
// 出栈
s.pop();
}
cout << "栈的大小:" << s.size() << endl;
}
int main() {
test();
system("pause");
return 0;
}
运行结果: