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;
}
相关推荐
帅得不敢出门2 分钟前
精简Android SDK(AOSP)的git项目提高git指令速度
android·java·开发语言·git·elasticsearch
liu****4 分钟前
10.排序
c语言·开发语言·数据结构·c++·算法·排序算法
爱写Bug的小孙4 分钟前
Tools、MCP 和 Function Calling
开发语言·人工智能·python·ai·ai编程·工具调用
小小Fred5 分钟前
FreeRTOS函数prvInitialiseNewTask解析
java·开发语言
快乐的划水a10 分钟前
std::thread与pthread关系
c++
_OP_CHEN11 分钟前
【算法基础篇】(三十二)动态规划之背包问题扩展:从多重到多维,解锁背包问题全场景
c++·算法·蓝桥杯·动态规划·背包问题·算法竞赛·acm/icpc
小杜的生信筆記13 分钟前
基于R语言绘制网络图,新人选手上手
开发语言·r语言·生物信息学·组学
小码哥06816 分钟前
家政服务管理-家政服务管理平台-家政服务管理平台源码-家政服务管理平台java代码-基于springboot的家政服务管理平台
java·开发语言·spring boot·家政服务·家政服务平台·家政服务系统·家政服务管理平台源码
爪洼守门员17 分钟前
前端性能优化
开发语言·前端·javascript·笔记·性能优化
Array*26 分钟前
java实现word中插入附件(支持所有文件格式)
java·开发语言·word·poi·ole