STL——stack容器

1.stack基本概念

概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。

栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为。

栈中进入数据称为------入栈(push)

栈中弹出数据称为------出栈(pop)

2.stack常用接口

构造函数:

  • stack<T> stk; ------//stack采用模板类实现, stack对象的默认构造形式
  • stack(const stack &stk);------ //拷贝构造函数

赋值操作:

  • stack& operator=(const stack &stk); ------//重载等号操作符

数据存取:

  • push(elem);------ //向栈顶添加元素
  • pop(); ------//从栈顶移除第一个元素
  • top(); ------//返回栈顶元素

大小操作:

  • empty();------ //判断堆栈是否为空
  • size(); ------//返回栈的大小
cpp 复制代码
#include<iostream>
using namespace std;
#include<stack>
//栈stack容器
void test()
{
	stack<int>s;
	//入栈
	s.push(10);
	s.push(20);
	s.push(30);
	s.push(40);
	cout << "栈的大小为:" << s.size() << endl;
	//只要栈不为空,查看栈顶,并且执行出栈操作
	while (!s.empty())
	{
		//查看栈顶元素
		cout << "栈顶元素为:" << s.top() << endl;
		//出栈
		s.pop();
	}
	cout << "栈的大小为:" << s.size() << endl;
}
int main()
{
	test();
	system("pause");
	return 0;
}
相关推荐
学不思则罔14 小时前
ParallelStream并发陷阱解析
java·开发语言·windows
认真的小羽❅14 小时前
【Java并发编程】volatile关键字深度解析:从内存语义到实际应用
java·开发语言
jayson.h14 小时前
可视化界面
开发语言·python
kgduu14 小时前
python中的魔法方法
开发语言·python
计算机安禾14 小时前
【c++面向对象编程】第21篇:运算符重载基础:语法、规则与不可重载的运算符
java·前端·c++
fox_lht14 小时前
12.3.使用生命周期使引用一直有用
开发语言·后端·rust
开发者联盟league14 小时前
在cursor中配置c/c++开发环境
c语言·开发语言·c++
初圣魔门首席弟子14 小时前
bug 2026.05.15(以前能运行的java springboot项目突然间不能运行后台数据了)
java·开发语言·bug
求知也求真佳14 小时前
S19|MCP 与插件:多 Agent 平台 —— 外部能力总线,让外部工具安全接入
开发语言·agent
澈20714 小时前
平衡二叉树:AVL与红黑树终极对比
数据结构·c++·红黑树