欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

圆括号匹配c语言代码,求救!!一道关于表达式圆括号匹配的经典题目

发布时间:2025/3/15 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 圆括号匹配c语言代码,求救!!一道关于表达式圆括号匹配的经典题目 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

struct Listack{

char data;

struct Listack*next;};bool GetTop(Listack*&s,char e)

{

if(s->next==NULL){printf("incorrect"); return false;

}

if(e==s->next->data)

return true;

}

void Push(Listack* &s,char e)

{

Listack*p;

p=(Listack*)malloc(sizeof(Listack));

p->data=e;

p->next=s->next;

s->next=p;

}

bool StackEmpty(Listack*s)

{

return(s->next==NULL);

}

bool Pop(Listack*&s,char e)

{

Listack * p;

if(s->next==NULL)

{printf("incorrect"); return false;

}

p=s->next;

e=p->data;

s->next=p->next;

free(p);

return true;

}

void Match(char exp[])

{

Listack* st;

st=(Listack*)malloc(sizeof(Listack));

st->next=NULL;

char ch='(';int i;

for(i=0;exp[i]=='('||')';i++)

{if(exp[i]=='(')

Push(st,exp[i]);

else if(exp[i]==')')

{

if(GetTop(st,ch))

Pop(st,ch);

}

}

if(!StackEmpty(st))

printf("incorrect");

else printf("correct");

}int main()

{

char str[100];

printf("please input:");

gets(str);

Match(str);

}

总结

以上是生活随笔为你收集整理的圆括号匹配c语言代码,求救!!一道关于表达式圆括号匹配的经典题目的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。