概述
当前位置:我的异常网» C语言 » 关于栈的有关问题。为什么Push函数top始终是NULL
关于栈的有关问题。为什么Push函数top始终是NULL
www.myexceptions.net 网友分享于:2014-04-25 浏览:7次
关于栈的问题。为什么Push函数top始终是NULL?
#include
#include
#include
typedef char elemtype;
typedef struct stacknode{
elemtype data;
struct stacknode *next;
}StackNode;
//建栈
StackNode *InitStack(StackNode *top){
top=(StackNode *)malloc(sizeof(StackNode));
top=NULL;
return top;
}
int Judge(StackNode *top){
if(top==NULL)
{
printf("建栈成功.n");
return 1;
}
else
{
printf("建栈失败!n");
return 0;
}
}
//进栈
int Push(StackNode *top){
StackNode *p,*q;
char ch;
while(ch=getchar()!='#'){
if(ch=='{'||ch=='('||ch=='['||ch=='
{
p=(StackNode *)malloc(sizeof(StackNode));//如果是左边的,进栈。
p->next=NULL;
p->data=ch;
p->next=top;
top=p;
}
if(ch=='}'||ch==')'||ch==']'||ch=='>')
{
if(top==NULL)
{
printf("栈空.n");//如果是右边的且top=NULL栈空,说明不平衡。还有符号没有平衡。
return 0;
}
else
{
switch(ch)
{
case '{':if(top->data!='}')//如果是右边的且top!=NULL出栈
return 0;
else
break;
case '(':if(top->data!=')')
return 0;
else
break;
case '[':if(top->data!=']')
return 0;
else
break;
case 'data!='>')
return 0;
文章评论
最后
以上就是可靠枕头为你收集整理的C语言栈的push函数,关于栈的有关问题。为什么Push函数top始终是NULL的全部内容,希望文章能够帮你解决C语言栈的push函数,关于栈的有关问题。为什么Push函数top始终是NULL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复