我是靠谱客的博主 可靠枕头,最近开发中收集的这篇文章主要介绍C语言栈的push函数,关于栈的有关问题。为什么Push函数top始终是NULL,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

当前位置:我的异常网» 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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部