概念
stack是一种先进后出的数据结构,它只有一个出口。Stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取Stack的的其他元素。换言之,stack不允许有遍历行为。
特点
1.先进后出
2.stack没有迭代器。只有顶端的元素才有机会被外界使用,不提供遍历功能,也不提供迭代器。
API
数据存取操作
push(elem);//向栈顶添加元素
pop();//从栈顶移除第一个元素
top();//返回栈顶元素
大小操作
empty();
size();
示例代码
#include <iostream>
#include <stack>
using namespace std;
// stack容器的使用
int main() {
stack<int> s; // 栈容器
// 将元素入栈
s.push(10);
s.push(20);
s.push(30);
s.push(40);
s.push(50);
cout << "栈是否为空:" << s.empty() << endl;
cout << "获取元素的个数:" << s.size() << endl;
while (!s.empty()) {
// 获取栈顶的元素
cout << s.top() << endl;
// 移除栈顶的元素
s.pop();
cout << "获取元素的个数:" << s.size() << endl;
}
cout << "元素的个数: " << s.size() << endl;
return 0;
}