蓝桥杯省赛无忧 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;
}
相关推荐
2301_8174973313 小时前
C++中的装饰器模式高级应用
开发语言·c++·算法
m0_5494166613 小时前
C++编译期字符串处理
开发语言·c++·算法
m0_5811241913 小时前
C++中的适配器模式实战
开发语言·c++·算法
A尘埃13 小时前
零售连锁店生鲜品类销量预测——线性回归(Linear Regression)
算法·线性回归·零售
u01092727113 小时前
C++与人工智能框架
开发语言·c++·算法
EmbedLinX13 小时前
嵌入式Linux C++常用设计模式
linux·c++·设计模式
挖矿大亨13 小时前
C++中空指针访问成员函数
开发语言·c++
Fleshy数模13 小时前
从欠拟合到正则化:用逻辑回归破解信用卡失信检测的召回率困境
算法·机器学习·逻辑回归
im_AMBER13 小时前
Leetcode 111 两数相加
javascript·笔记·学习·算法·leetcode
TracyCoder12313 小时前
LeetCode Hot100(21/100)——234. 回文链表
算法·leetcode·链表