| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1779 人关注过本帖
标题:[求助]利用两个栈S1和S2来模拟一个队列。请同志们检查程序中的错误,因为在 ...
只看楼主 加入收藏
fudy2006
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-23
收藏
 问题点数:0 回复次数:2 
[求助]利用两个栈S1和S2来模拟一个队列。请同志们检查程序中的错误,因为在main中调
#include "stdio.h"
#define MAXSIZE 100 /* 宏定义 */

typedef struct stack /*定义栈结构体类型*/
{
int data[MAXSIZE];
int top;
}Stack;
int x;
Stack s1,s2; /*栈变量*/
int PUSH(Stack s,int x) /*入栈子函数*/
{ s.data[s1.top]=x;
s.top++;
return 1;
}

int POP(Stack s,int x) /*出栈子函数*/
{ s.top--;
x=s.data[s.top];
return 1;
}

int Sempty(Stack s )/*栈空子函数*/
{if(s.top==0)
{
return 1;
}
else
return 0;
}

int enpueue(Stack s1,int x)/*入队子函数*/
{ if (s1.top==MAXSIZE&&!Sempty(s2)) /* s1满s2非空,这时s1不能再入栈*/
{
printf("zhanman");
return 0;
}
if (s1.top==MAXSIZE&&Sempty(s2)) /*若s2为空,先将s1出栈,元素再入栈到s2*/
{
while(!Sempty(s1))
{
POP(s1,x);
PUSH(s2,x);
}
}
PUSH(s1,x);
return 1;
}

void dequeue(Stack s2,Stack s1)
{
if(!Sempty(s2))
{
POP(s2,x);
printf("chudui:%d ",x);
}
else /*先将栈s1入s2中,再作出队操作*/
{
while(!Sempty(s1))
{
POP(s1,x);
PUSH(s2,x);
}
POP(s2,x);
printf("chudui:%d\n ",x);
}
}
int queue_empty(Stack s2,Stack s1)
{
if (Sempty(s1)&&Sempty(s2))
{
printf("duikong\n");
return(1);/*队列空*/
}
else
return 0;
}
搜索更多相关主题的帖子: 队列 main 同志 模拟 
2007-06-23 18:45
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
收藏
得分:0 
没有main函数能运行么?你在哪本书抄的程序啊

惟有学习不断的学习!
2007-06-23 19:16
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
收藏
得分:0 
把main发给我,我也有这个,比你的简单

惟有学习不断的学习!
2007-06-23 19:17
快速回复:[求助]利用两个栈S1和S2来模拟一个队列。请同志们检查程序中的错误,因 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070425 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved