00问答网
所有问题
当前搜索:
数据结构括号匹配算法
数据结构
栈应用
括号匹配算法
答:
算法如下:从左开始向右扫描该表达式,
1、如遇左括号(不论哪一种),将该左括号入栈;2、如是右括号,如栈为空则返回出错信息,不空就检查其是否与栈顶左括号是否配对
,如是则栈顶元素出栈后继续扫描(转1 ),否则,返回出错信息(出错类型:右括号先出现,或左右括号不匹配,出错位置);3、如...
数据结构
VC++6.0环境 判断
括号 匹配
问题
答:
1、
数据结构
栈,2、
算法
char* ch 指向 算术表过式//扫描表达式while(ch!='\0'){ if(ch == 左符号) 进栈; else// 右符号 if(stack.top()==对应左符号) 弹出 else return 不配对ch++;} // 表述式扫描完if(栈空) return 配对else return 不配对2、#define...
一道
数据结构
题:设计
算法
判断一个算术表达式的圆
括号
是否正确配对。_百 ...
答:
if(Match(ch,str[i])) /*用Match判断两个括号是否匹配*/ Pop(&S,&ch); /*已匹配的左括号出栈*/ else { printf("\n对应的左右括号不同类!");return;} } }/*switch*/ }/*for*/ if(IsEmpty(&S))printf("\n
括号匹配
!");else printf("\n左括号多余!");} void main(){ c...
...右
括号
是否配对出现的
算法
,采用什么
数据结构
最佳。
答:
栈 (Stack)是一种后进先出(last in first off,LIFO)的
数据结构
。
算法
基本思想:依次判断表达式中的每个字符,若是左
括号
就入栈,如果是右括号则出栈,出栈的时候判断是否为空,如果为空,则说明不匹对,最后读到表达式末尾没有字符了,再判断一下栈是否为空,如果为空,则说明
匹配
,不为空,说明不...
数据结构 括号匹配算法
答:
楼上说的是一个原因,不过去掉!StackEmpty(S)后问题依旧。你的原因主要是这里:case ')':{Pop(S,e);if(e!='(') flag=1; break;} 应该先判断,再出栈。不能先出栈再判断。
C++
数据结构
判断一个字符串中
括号
是否
匹配
答:
思路是遇到左
括号
就入栈,碰到右括号就判断栈顶的元素是否
匹配
的左括号,不是的话就返回false,是的话就弹出栈顶元素,然后继续下一个字符。判断函数如下:bool is_comm_stack(char const* src){ assert(src);char ch;char const* p=src;stack<char> s;while(*p){ switch(*p){ case '(':ca...
求一个C++
括号匹配
的程序(
数据结构
版)
答:
1.准备一个 栈。 2.逐字符扫描输入的字符串。 2.1 如果是{或[或( 则压入 栈。 2.2 如果是}则检测 栈顶是否是{。如果是,则把栈顶的{弹出,继续检测输入字符串的下一个字符,如果不是则出现不
匹配
,报错。 2.3 如果是]或),则类似2.2 的处理。 3.如果输入字符串的字符都扫描完了,...
求解一到
数据结构
的填空题,关于
括号匹配
的,详情见下面
答:
(1)ch1 != '#'(2)*(p->ch)(3)top-- (4)p = p->next (5)head
判断圆
括号
是否配对用C语言如何实现
答:
if(bt.top==-1) { printf("empty"); exit(0); } sh=bt.sq[bt.top]; bt.top--; return sh; }Search(sqstack bt) /*查找
括号
是否
匹配
*/ { char c=0; printf("If you want to break,
数据结构
(C)实现
括号匹配
出现的问题
答:
就是说if(EmptyStack(S)) printf("
匹配
!"); 永远不会执行到的= =,所以就永远输出“不匹配”了。同时还说明了你的EMPTY函数用意是对的,但是写错了。去把EmptyStack里return S.base==NULL;换成return S.base==S.top;应该就OK了。PS:如果不是这个问题,在PUSH和POP里加上输出语句随时跟踪...
1
2
3
涓嬩竴椤
其他人还搜
数据结构括号匹配算法C语言
描述栈的括号匹配的算法思想
数据结构括号匹配实验总结
括号匹配验证数据结构
python判断括号匹配
栈解决括号匹配
括号匹配算法c语言
数据结构与算法python版答案
括号匹配问题c语言