博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用两个队列来模拟栈
阅读量:4316 次
发布时间:2019-06-06

本文共 1005 字,大约阅读时间需要 3 分钟。

主要思路是:

对于push操作,将数据插入非空队列中,如果两个队列都为空,则插入任意一个队列中;

对于pop操作,将数据从非空的队列中迁移到空队列中去,并且输出非空队列中的最后一个元素。

/* 用两个队列来模拟栈的push和pop操作 */void queueStack(){    queue
q1; queue
q2; int n; //操作的次数 int value; scanf("%d",&n); char* operation = (char*)malloc(sizeof(char)*4); for(int i=0;i
0 && q2.size()==0){ while(q1.size()>1){ q2.push(q1.front()); q1.pop(); } printf("%d\n",q1.front()); q1.pop(); }else if(q1.size()==0 && q2.size()>0){ while(q2.size()>1){ q1.push(q2.front()); q2.pop(); } printf("%d\n",q2.front()); q2.pop(); }else if(q1.size()==0 && q2.size()==0){ printf("-1\n"); }else{ printf("error\n"); } } }}

 

转载于:https://www.cnblogs.com/jing77jing/p/3837028.html

你可能感兴趣的文章
什么是簇?
查看>>
[LeetCode] Construct Binary Tree from Inorder and Pretorder Traversal
查看>>
[转载]Android通过Socket上传文件
查看>>
golang 中的定时器(timer),更巧妙的处理timeout
查看>>
AT2134 Zigzag MST
查看>>
[NOI2019]回家路线
查看>>
何谓CRT,CRT的由来
查看>>
项目管理实践--VisualSVN Server
查看>>
2595 X之于Y 思维
查看>>
Selenium Webdriver模拟鼠标键盘操作
查看>>
vue链接规则_vue二级菜单添加链接+点击二级菜单渲染页面
查看>>
linux mysql 实例_linux下安装第二个mysql实例过程
查看>>
搜索mysql语句优化_Mysql查询语句优化
查看>>
mysql redhat rmp_MySQL在linux上的rpm包方式安装方法
查看>>
hibernate mysql demo_hibernate简单的demo
查看>>
python mysql 执行sql文件_mysql数据库怎么执行sql脚本
查看>>
mysql左右union_MYSQL:union, 左连接
查看>>
tkinter print 输出到文本框_tkinter 模块(一)
查看>>
分辨率像素英寸和像素厘米的区别_监控摄像机像素和分辨率介绍
查看>>
apache mysql php配置_apache安装和mysql php配置问题
查看>>