利用栈判断输入的表达式中的括号是否匹配(假设只含有左、右括号)
来源:互联网 发布:linux vi修改文件 编辑:程序博客网 时间:2024/06/06 03:13
利用栈判断输入的表达式中的括号是否匹配(假设只含有左、右括号)
bool Match(char exp[],int n)
{int i=0;
char e;
bool match=true;
SqStack *st;
InitStack(st);//初始化栈
while(i<n && match)//扫描exp中所有字符
{
if(exp[i]=='(')//当前字符为左括号,将其进栈
Push(st,exp[i]);
else if(exp[i]==')')//当前字符为右括号
{
if(GetTop(st,e)==true)
{
if(e!='(')//栈顶元素不为'('时,表示不匹配
match=false;
else
Pop(st,e);//将栈顶元素出栈
}
else match=false; //无法取栈顶元素时,表示不匹配
}
i++; //继续处理其他字符
}
if(!StackEmpty(st))//栈不空时,表示不匹配
match=false;
DestroyStack(st);//销毁栈
return match;
}
1 2
- 利用栈判断输入的表达式中的括号是否匹配(假设只含有左、右括号)
- 请判断一个串中的括号是否匹配 注意下列不匹配的情况: 左括号太多 右括号太多 右括号先于左括号出现 ..)...(... 挎臂情况 ....[...(....]....)....
- 判断表达式中的括号是否匹配
- 输入一个表达式,表达式中包括三种括号“()”、“[]”和“{}”,判断该表达式的括号是否匹配。
- 用栈判断表达式中的括号是否匹配
- 利用栈判断括号是否匹配
- 利用栈判断括号是否匹配
- Vim输入左括号时自动匹配输入对应的右括号
- 用栈判断输入的括号是否匹配
- 判断表达式左右括号是否匹配(栈)
- 栈验证表达式中的括号是否匹配
- 假设表达式中包含三种括号 圆括号方括号大括号 设计一个算法用顺序栈判断表达式中的括号是否正确配对
- 使用栈判断输入的表达式中括号是否配对
- 栈的基本操作及如何判断一个表达式中的左右括号是否匹配
- 使用链栈判断输入的表达式中的括号是否配对
- 已知一个字符串都是由左括号(和右括号)组成,判断该字符串是否是有效的括号组合。
- 栈的应用----判断括号是否匹配
- 如何判断一个表达式中的左右括号是否匹配
- fedora16设置
- 创建第一个Ubuntu for phone应用
- cocos2dx 的内存管理
- Catalan数
- POJ 1004 Financial Management
- 利用栈判断输入的表达式中的括号是否匹配(假设只含有左、右括号)
- Linux下Rsync+Inotify-tools实现数据实时同步
- Jetty开发指导:WebSocket介绍
- QString和QDateTime之间的相互转换
- 6147问题
- HDFS小文件问题及解决方案
- oracle--PL/SQL基础 Procedure Language & Structured Query Language
- linux--rm(移除档案或目录)
- TCP和UDP