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;
}
相关推荐
千谦阙听10 小时前
【 C++篇】:模板初阶——泛型编程、函数模板与类模板
开发语言·c++·学习·visual studio
SEO_juper10 小时前
2026年用Python检测网站薄内容与重复页:用向量相似度找出“搜索引擎眼中一样“的页面(附完整代码)
开发语言·前端·seo·独立站·谷歌优化
老王爱玩车10 小时前
第6讲:数组和函数实践-----控制台扫雷
c语言·开发语言·学习
我不会起名字32210 小时前
一天一道力扣Hot100(37):深度优先算法--括号生成
java·数据结构·c++·后端·python·算法·go
m0_7345717610 小时前
深入理解C++ 多态<三>(Polymorphism)模板方法模式
开发语言·c++
君顾110 小时前
24小时自助健身房系统开发实战:从0到1完整技术架构指南
java·开发语言·健身房
Rabitebla10 小时前
【Linux 系统编程】权限(一):身份、提权,和那 9 个权限位
linux·数据结构·c++·算法
艾莉丝努力练剑10 小时前
【AI大模型接入SDK】SQLite基础概念与C的API开发
网络·c++·人工智能·学习·架构
東隅已逝,桑榆非晚10 小时前
List(类函数学习)
c++·笔记·学习
Dr_Fourier11 小时前
AWQ量化
c++·人工智能·pytorch·ai