两个队列实现一个栈思路c语言,两个栈实现队列功能C语言实现能运行!
#include
#include
typedef struct sq
{
char *ps;
int top;
int Maxsize;
}stack;
void initstack(stack *s,int ms)
{
s->ps=(char*)malloc(ms*sizeof(char));
s->top=-1;
s->Maxsize=ms;
};
void push(stack *s,char val)
{
if(s->top==s->Maxsize-1)
{
printf("栈已满\n");
return ;
}
s->ps[++s->top]=val;
};
char pop(stack *s)
{
char k;
if(s->top==-1) return 1;
k=s->ps[s->top];
s->top--;
return k;
};
void push_queue(stack *s1,stack* s2)
{
char val ;
scanf("%c",&val);
push(s1,val);
}
void pop_queue(stack *s1,stack *s2)
{
char x;
if(-1==s2->top)
{ while(-1!=s1->top)
{
x=pop(s1);
push(s2,x);
}
} while(-1!=s2->top){ x=pop(s2);printf("%c",x);}
}
int main(int argc,char **argv)
{
stack s1,s2; int i;
printf("输入进队序列\n");
initstack(&s1,10); initstack(&s2,10);
for(i=0;i<10;i++) push_queue(&s1,&s2);
printf("出对序列为:\n");
pop_queue(&s1,&s2);
return 0;
}
两个队列实现一个栈思路c语言,两个栈实现队列功能C语言实现能运行!相关推荐
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 编写一个函数找出这两个只出现一次的数字。
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次.编写一个函数找出这两个只出现一次的数字. 1.代码编写 2.结果 1.代码编写 代码如下(示例): #define _CRT_SECURE_ ...
- 【小题目】输入两个数字以及一个符号,输出这两个数字在这个符号下运算产生的结果
import java.util.Scanner; public class SwitchCaseExer {public static void main(String[] args){// 获取两 ...
- c语言将两个文件合成一个,keil中怎么把两个c程序怎么同时同时编译生成一个hex文件...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第一个c程序 #include #include"lcd.h" //--定义全局变量--// unsigned char PuZh[] ...
- 两个栈实现一个队列,两个队列实现一个栈
题目:用两个栈实现一个队列,用两个队列实现一个栈. 首先要了解栈和队列这两种数据结构各自的特点,栈是一种后入先出(Last In First Out,LIFO)的数据结构,队列是一种先进先出(Firs ...
- 两段视频合成一个视频用什么软件 怎么把两段视频合成一段看不出来
两段视频合成一个视频用什么软件?无论是两段视频的合成,还是三段视频的合成,用视频编辑软件都能轻松搞定.但怎么把两段视频合成一段看不出来?这就比较考验制作者的功力了,不过我们还是有捷径的,下面一起来看看 ...
- java实现-两个栈实现一个队列和两个队列实现一个栈
1.两个栈实现一个队列 思路:压入元素直接入stack1,删除元素先判断stack2中是否为空,如果不为空直接弹出:为空则将stack1中的元素取出压入 stack2中再弹出. 代码: import ...
- C/C++面试题—使用STL两个队列实现一个栈
题目介绍 使用STL中的两个队列实现一个栈,实现栈的top.pop.push.clear等操作. 思路分析 思路和使用2个栈实现一个队列是相通的,用一个队列queue1容器用来 压栈,出栈的时候判断q ...
- python ——两个队列实现一个栈两个栈实现一个队列
1.两个队列实现一个栈 进栈:元素入队列A 出栈:判断如果队列A只有一个元素,则直接出队.否则,把队A中的元素出队并入队B,直到队A中只有一个元素,再直接出队.为了下一次继续操作,互换队A和队B. p ...
- 两个栈实现一个队列与两个队列实现一个栈
http://blog.csdn.net/z84616995z/article/details/19204529 两个栈实现一个队列: 原理方法:用一个栈为主栈,一个栈为辅助栈存放临时元素. 入队:将 ...
- 两个栈实现一个队列/两个队列实现一个栈
http://blog.csdn.net/sinat_30472685/article/details/70157227 1两个栈实现一个队列 1.原理分析: 队列的主要操作有两个:入队操作和出队操作 ...
最新文章
- 【HDOJ】3275 Light
- java反射设置access_Java反射之java.lang.reflect.Field
- scrapy 6023 telnet查看爬虫引擎相关状态
- 机关单位公文编写注意事项
- 07- app的弱网测试
- mysql元数据死锁日志,MySQL 实战笔记 第02期:MySQL 元数据锁
- 导购提成怎么算_空调选购,别问“小白”问题,问导购这几个参数,才会显得内行...
- word 代码_怎样在Word 中插入 C/C++ 代码
- Controller接口控制器(3)
- json解析对应的value为null_解决golang json解析出现值为空的问题
- python对excel数据统计_数据分析EPHS(4)-使用Excel和Python计算数列统计值
- JavaWeb开发框架——Spring
- html5黑洞吸收粒子动画js特效
- Fingerprint2 生成浏览器指纹应用
- Koo叔说Shader-贴图切换
- HDFS的设计目标是什么?
- 职场内耗,正在让这个团队瓦解
- Sara 老友记 第一季第六集 Joey天天演烂片
- 纯生js ajax,纯生js实现Element中input组件的部分功能(慢慢完善)并封装成组件
- 微软E5账号OneDrive无法扩容解决方案(亲测有效)
热门文章
- oracle部署--安装oracle软件与部署单实例数据库
- python数据结构与算法
- [DB]mysql 及sql server2005下实现分页效果的sql语句
- 数据科学家访谈录 百度网盘_您应该在数据科学访谈中向THEM提问。
- 数据科学家 数据工程师_数据科学家实际上赚了多少钱?
- 霸县计算机学校,廊坊中专排名2021
- java returnaddress,JVM之数据类型
- android webView的缓存机制和资源预加载
- 559. N 叉树的最大深度
- 播客#45:迪伦·以色列