兄弟篇---用队模拟栈的实现
来源:互联网 发布:c4d软件mac下载 编辑:程序博客网 时间:2024/05/15 23:50
写了用栈模拟队的实现后,自然也探索一下用队模拟栈的实现,其中如有bug或者可优化的地方,还请多多指教。。
在这里,队的那些基本实现函数就不哆嗦了。
用队实现栈,就是说,需要用队的特性-->先进先出 ,模拟栈的特性-->后进先出。。
看看代码吧。。
#include <stdio.h>#include "queue_to_stack.h"/////////////队转栈---》两个队,其中一个只负责中转,帮助另一个实现“后进先出bool push_queue_to_stack(node *q1,ELEMTYPE val){push_list_queue(q1,val);return false;}static int length_queue(node *q){int tmp;int count=0;if (q==NULL ){return false;}while(!is_empty(q)){pop_list_queue(q,&tmp);count++;}return count;}int pop_queue_to_stack(node *q1,node *q2){if (is_empty(q1)){printf("栈空");return true;}while(!is_empty(q1)){int tmp=0;int buff=0;while(length_queue(q1)!=1){pop_list_queue(q1,&buff);push_list_queue(q2,buff);}pop_list_queue(q1,&tmp);printf("%d\n",tmp);while(is_empty(q2)!=0){pop_list_queue(q2,&buff);push_list_queue(q1,buff);}}return 0;}int main(){node s1;node s2;init_list_queue(&s1);push_list_queue(&s1,3);push_list_queue(&s1,8);push_list_queue(&s1,6);init_list_queue(&s2);push_queue_to_stack(&s1,2);int tmp=pop_queue_to_stack(&s1,&s2);printf("%d\n",tmp);return 0;}
0 0
- 兄弟篇---用队模拟栈的实现
- 栈的模拟实现
- 栈的模拟实现
- 树的孩子兄弟链表实现
- 查找兄弟单词 解法一的实现
- 用栈实现的模拟计算器程序
- Java栈的模拟实现
- 我的兄弟之----旺旺篇
- 树的孩子兄弟表示法 及遍历实现
- 基于 链表法 父亲长子兄弟模型树的实现 -java
- 利用pipe实现兄弟进程之间的通信
- 孩子兄弟存储结构的几个统计算法实现
- js 获取元素所有兄弟节点的实现方法
- 用两个队列模拟实现一个栈的过程
- 图形界面模拟一个顺序栈的实现
- java模拟栈的实现1
- (C++)栈和队列的模拟实现
- 实现你自己的UI系统-模拟篇
- 通过document.getElementsByName来实现 复选框的全选,全部选,反选
- 九度oj1386旋转数组
- Leetcode #239 Sliding Window Maximum
- 利用adb安装和卸载android APK
- HDU 5336 BFS+模拟
- 兄弟篇---用队模拟栈的实现
- MaterialDesign 的设计方法与素材
- i++与++i的区别
- [Cocoa]_[界面切换]
- HDU 5336 XYZ and Drops(十滴水游戏) 模拟
- 梦芭莎IOS客户端存在设计缺陷可重置任意用户密码
- Properties vs. instance variables(ios objective-c)
- 2021 发工资咯:)
- POJ 3177 Redundant Paths(边双连通分量)