蓝桥杯省赛无忧 STL 课件14 stack

01 stack的定义和结构

stack是一种后进先出(LIFO)的数据结构,使用前需要包含头文件。

stack提供了一组函数来操作和访问元素,但它的功能相对较简单。

stack的定义和结构如下(仅作了解即可):

csharp 复制代码
template <class T,class Container = deque<T>>
class stack;

T:表示存储在stack中的元素的类型。

Container:表示底层容器的类型,默认为deque.也可以使用其他容器类型,如vector或list.

stack的内部实现使用了底层容器来存储元素,并且只能通过特定的函数来访问和操作元素。

02 stack的常用函数

03 代码示例

csharp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	stack<int> myStack;
	//向栈中插入元素
	myStack.push(10);
	myStack.push(20);
	myStack.push(30);
	myStack.push(40);
	//获取栈顶元素
	cout<<"栈顶元素:"<<myStack.top()<<endl;
	//弹出栈顶元素
	myStack.pop();
	//再次获取栈顶元素
	cout<<"弹出一个元素后的栈顶元素"<<myStack.top()<<endl;
	//检查栈是否为空
	if(myStack.empty()){
		cout<<"栈为空"<<endl;
	}else{
		cout<<"栈不为空"<<endl;
	}
	//获取栈的大小
	cout<<"栈的大小: "<<myStack.size()<<endl; 
	return 0;
}
相关推荐
郝学胜_神的一滴14 分钟前
干货版《算法导论》17:双数极值配对与卡牌手牌编码最优解
数据结构·算法
码工许师傅28 分钟前
一文读懂《Effective C++ 第三版》的55条黄金法则
c++
有点。1 小时前
C++深度优先搜索(三)
开发语言·c++·深度优先
nike0good1 小时前
Codeforces Round 1101 (Div. 2) 题解
算法
中年阿甘1 小时前
解析式布局-二次线长布局
线性代数·算法·矩阵
程序喵大人1 小时前
【C++进阶】STL算法与函数对象 -【C++进阶】STL算法与函数对象
开发语言·c++·算法
我不会插花弄玉1 小时前
10.list【由浅入深-C++】
数据结构·c++·list
鹿角片ljp2 小时前
LeetCode 53. 最大子数组和
算法·leetcode·职场和发展
旖旎夜光2 小时前
C++(类与对象)(下)
开发语言·c++·学习
江屿风2 小时前
【科普】【差集&交集概念落地云相册】流食般投喂
开发语言·c++·笔记·算法·云相册