数据结构

您所在的位置:网站首页 设计一个判别表达式中括号是否配对的算法 数据结构

数据结构

2024-07-09 17:53| 来源: 网络整理| 查看: 265

题目:设计一个算法,判断一个算数表达式中的括号是否配对。算数表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。

思想: 利用栈进行匹配,所有左括号进栈,右括号匹配栈顶元素,不匹配表达式不配对。

代码展示:

int kuohao(LinkList L) { char s[100],t; int top=-1; LinkList p=L->next; while(p!=NULL) { switch(p->data) { case '(': s[++top]='(';break; case '[': s[++top]='[';break; case '{': s[++top]='{';break; case ')': {if(s[top]!='(') return 0;else top--; break;} case ']': {if(s[top]!='[') return 0;else top--;break;} case '}': {if(s[top]!='{') return 0;else top--;break;} } p=p->next; } if(top==-1) return 1;//1代表匹配 else return 0;//0代表不匹配 }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3