STL中栈的实现

代码部分

cpp 复制代码
#include<iostream>
#include<stack>
using namespace std;
int main() {
	stack<int> intStack;
	stack<double> doubleStack;
	intStack.push(1);
	intStack.push(2);
	intStack.push(3);
	intStack.push(4);
	while (!intStack.empty()) {
		cout << intStack.top() << ' ';
		intStack.pop();
	}
	return 0;
}

首先就是添加一个属于栈容器头文件,只要有了它就可以直接使用STL中封装好的std::stack类,这样简直爽死,不用写那大串的代码,就可以直接使用,这就是C++相比C语言的魅力所在吧。

cpp 复制代码
#include<stack>

这个模板类里面自带了一些函数,包括push,pop,top,empty.

首先是定义一个栈,就一行语句:

cpp 复制代码
stack<int> intStack;
stack<double> doubleStack;

然后就可以直接使用对应的函数啦,在栈名后面加"."然后直接调用就好啦。

注意在stl的库中的栈中的pop函数返回值为void,所以不具备返回栈顶元素的作用。

相关推荐
2601_9622186119 分钟前
C语言中三种库的编译和使用方法
开发语言·c++
jimy132 分钟前
派生类重写基类虚函数(二):override的作用
开发语言·c++
ebiobiz1 小时前
基于 GD32 Embedded Builder (GEB) 与 Nimmake 的 MCU 工程搭建指南
c++·python·单片机·嵌入式硬件·mcu
hetao17338371 小时前
2026-09-29 hetao1733837 的刷题记录
c++·算法
:mnong1 小时前
几何内核“四大金刚“:ACIS、Parasolid、CGM、Open CASCADE 核心特征深度解析
c++·cad·cax
by209991 小时前
从 malloc/free 到 new/delete:真正理解 C++ 中的内存管理与对象生命周期
c语言·c++·经验分享·动态内存管理
欣欣之王来了2 小时前
AI合规专项:AI算法透明度的合规要求
人工智能·算法
wzdark2 小时前
分块思想在算法优化中的实践与应用4
算法
Because_of_Her12 小时前
dfs-洪水填充技巧
笔记·算法·深度优先·洪水填充
m0_380743872 小时前
Qt侧边栏布局的实现示例
开发语言·c++