两个栈实现队列功能C语言实现能运行!
来源:互联网 发布:2017sas数据分析大赛 编辑:程序博客网 时间:2024/06/07 19:00
两个栈实现队列功能
#include<stdio.h>
#include<malloc.h>
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语言实现能运行!
- 两个栈实现队列功能
- 两个队列实现栈功能
- 剑指offer07题两个栈实现一个队列(c语言)
- 用两个栈实现一个队列功能
- 用两个栈实现一个队列功能
- 两个队列实现一个栈的功能
- 两个栈实现一个队列的功能
- 两个顺序栈实现顺序队列功能
- 两个栈实现队列的功能
- 两个栈实现队列的功能
- 两个栈实现队列的功能
- 用两个栈实现队列的功能
- 两个栈实现队列的功能
- 用两个栈实现一个队列功能
- 利用两个栈实现队列的功能
- 两个栈实现一个队列的功能
- 使用两个栈实现队列的功能
- Default Bearer and Dedicated Bearer in the LTE
- C++中继承时的重载和重新定义
- VS在函数返回的时候检测内存泄漏
- sencha chart 改变line chart的颜色
- IBM软件工程首席科学家欲为“计算”录制电视系列片
- 两个栈实现队列功能C语言实现能运行!
- eclipse插件开发帮助文档地址
- Asp.net中把cs文件编译成dll
- 小故事一则(2)
- Smarty foreach 循环多维数组示例
- 客户管理不要“一把抓”
- Andriod: 去掉系统自带的Activity跳转动画
- 3393
- win下命令行启动oracle服务