栈(stack)

~ 2025-11-9 14:49:07

什么是栈

栈是一种数据结构,最大的特点是:先进后出,如图:

术语

  • 插入:入栈或者进栈,对应的函数push()
  • 删除:出栈,对应的函数是pop()
  • 访问栈顶的元素,对应的函数是top()
  • 查看栈里元素个数,对应的函数size()
  • 判断栈是否为空,对应的函数empty()

如何定义一个栈

#include<bits/stdc++.h>

using namespace std;
stack<int> stk; // 定义一个只装int类型的栈 
int main(){
	// 往栈里加元素
	stk.push(3); // 将3入栈
	stk.push(2); // 将2入栈
	stk.push(1); // 将1入栈
	cout << stk.size() <<endl;// 输出栈里元素个数
	cout << stk.top() << endl;// 输出栈顶元素
	stk.pop(); // 删除栈顶元素 
	cout << stk.size() <<endl;// 输出栈里元素个数
	cout << stk.top() << endl;// 输出栈顶元素
	// 一般pop操作和top操作都得先判断是否是空的 
	while(!stk.empty()) {
		cout <<"栈顶元素是:"<< stk.top() <<endl;
		stk.pop();
	}
	return 0;
}

输出结果如下:



我们会审查剪贴板内容,并对发布不合适内容的同学进行相应的处理