数据结构用两个栈实现一个队列的实例
发布时间 - 2026-01-11 01:59:57 点击率:次数据结构用两个栈实现一个队列的实例

栈是先进后出,队列是先进先出
每次元素都push在st1中,pop的时候如果st2为空,将st1的栈顶元素放在st2的栈底,这样st1的所有元素都放在st2中,st1的栈底就是st2的栈顶,pop st2的栈顶,这样就满足了队列的先进先出。
#include <iostream>
using namespace std;
#include <stack>
#include <stdlib.h>
template <class T>
class SQueue {
public:
void Push(const T& value);
T Pop();
private:
stack<T> st1;
stack<T> st2;
};
template <class T>
T SQueue<T>::Pop()
{
if (st2.size() <= 0)
{
if (st1.size() == 0)
{
exit(1);
}
while ((st1.size() > 0))
{
T& top = st1.top();
st2.push(top);
st1.pop();
}
}
T head = st2.top();
st2.pop();
return head;
}
template <class T>
void SQueue<T>::Push(const T& value)
{
st1.push(value);
}
int main()
{
SQueue<int> sq;
for (int i = 0; i < 10; ++i)
{
sq.Push(i);
}
for (int i = 0; i < 5; ++i)
{
cout << sq.Pop() << " ";
}
for (int i = 0; i < 5; ++i) //分两次验证
{
cout << sq.Pop() << " ";
}
cout << endl;
system("pause");
return 0;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 数据结构用两个栈实现一个队列
# 两个栈实现一个队列
# JavaScript数据结构学习之数组、栈与队列
# C++ 数据结构实现两个栈实现一个队列
# JavaScript数组实现数据结构中的队列与堆栈
# Java模拟栈和队列数据结构的基本示例讲解
# JavaScript数据结构与算法之栈与队列
# 栈和队列数据结构的基本概念及其相关的Python实现
# LinkedList学习示例模拟堆栈与队列数据结构
# C#数据结构与算法揭秘五 栈和队列
# 放在
# 两次
# 数据结构
# 希望能
# 谢谢大家
# 为空
# include
# lt
# iostream
# gt
# stack
# stdlib
# std
# namespace
# template
# java
# pop
# strong
# push
# class
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用AWS免费套餐快速搭建高效网站?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
昵图网官方站入口 昵图网素材图库官网入口
Laravel如何创建自定义中间件?(Middleware代码示例)
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
php json中文编码为null的解决办法
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
如何快速搭建高效香港服务器网站?
香港服务器WordPress建站指南:SEO优化与高效部署策略
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
教学论文网站制作软件有哪些,写论文用什么软件
?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Laravel如何实现一对一模型关联?(Eloquent示例)
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
Java解压缩zip - 解压缩多个文件或文件夹实例
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Laravel如何使用模型观察者?(Observer代码示例)
如何在自有机房高效搭建专业网站?
怎么用AI帮你设计一套个性化的手机App图标?
开心动漫网站制作软件下载,十分开心动画为何停播?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
WEB开发之注册页面验证码倒计时代码的实现
Android滚轮选择时间控件使用详解
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
如何在云主机快速搭建网站站点?
晋江文学城电脑版官网 晋江文学城网页版直接进入
网站制作报价单模板图片,小松挖机官方网站报价?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何在香港免费服务器上快速搭建网站?
Laravel如何使用withoutEvents方法临时禁用模型事件
网站制作壁纸教程视频,电脑壁纸网站?
如何在腾讯云服务器上快速搭建个人网站?
Angular 表单中正确绑定输入值以确保提交与验证正常工作
如何在万网自助建站中设置域名及备案?
如何自定义建站之星网站的导航菜单样式?
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Python文件异常处理策略_健壮性说明【指导】
如何利用DOS批处理实现定时关机操作详解
原生JS获取元素集合的子元素宽度实例
Python图片处理进阶教程_Pillow滤镜与图像增强
iOS正则表达式验证手机号、邮箱、身份证号等
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】

