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;
}
相关推荐
傲世仙尊3 小时前
赋值运算符重载-从无到有与从有到有六大函数收官
c++
卢锡荣3 小时前
乐得瑞Type-c接口产品描述
c语言·开发语言
晴天的雨.9923 小时前
【C++】模板进阶
开发语言·c++·算法
Shadow(⊙o⊙)3 小时前
仿muduo实现高并发服务器——时间轮timewheel.cpp
c语言·c++
死磕音视频14 小时前
让小模型做选择题:限定候选项并读取 logits 概率的入门实践(附 Python 代码)
开发语言·python·大模型·文本分类·transformers
WL学习笔记15 小时前
C & C++ 内存管理
c++·c++内存管理
顽疲16 小时前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog16 小时前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
宛 禾18 小时前
Qt 控件入门:QLabel 从拖拽到对象树,一篇讲透
c++·qt·学习
hetao173383718 小时前
联盟场-提高组-R7 & ZYZSC-S-Round 11
c++·算法