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;
}
相关推荐
阿龍17878 分钟前
媒体文件问题检测脚本(一)(python+ffmpeg)
开发语言·python
2501_9411118423 分钟前
分布式日志系统实现
开发语言·c++·算法
AA陈超24 分钟前
UE5笔记:OnComponentBeginOverlap
c++·笔记·学习·ue5·虚幻引擎
未来之窗软件服务1 小时前
幽冥大陆(二十三)python语言智慧农业电子秤读取——东方仙盟炼气期
开发语言·python·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟浏览器
不会c嘎嘎1 小时前
C++ -- stack和queue
开发语言·c++·rpc
CodeByV1 小时前
【C++】C++11:其他重要特性
开发语言·c++
2501_941111331 小时前
C++代码重构实战
开发语言·c++·算法
爱装代码的小瓶子1 小时前
【c++知识铺子】相对简单的容器适配器双生子-stack和queue(STL)
开发语言·c++
豐儀麟阁贵2 小时前
6.2 Object类
java·开发语言·python
MichaelIp2 小时前
Python同步vs异步性能对比实验-2
开发语言·python·性能优化·可用性测试