栈
奋豆者
这个作者很懒,什么都没留下…
展开
-
用栈检测算数表达式中的括号是否匹配(v2)
之前写过检测算术表达式中括号()是否合法——栈的应用 当时没太注意代码的规范化,这次的代码建立在首先定义标准的顺序栈的基础上,代码可读性更强,更便于理解。 #include <stdio.h> #define MaxSize 100 //定义栈 typedef struct{ char c[MaxSize]; int index; }stack; //初始化栈 bool init_Stack(stack &s){ s.index = -1; return true; } /原创 2020-07-26 16:08:25 · 874 阅读 · 0 评论 -
检测算术表达式中括号()是否合法——栈的应用
算法思想 数学表达式中括号必须成对出现,比如(a+b)c、a(ln(x)-x)。否则即为不合法的表达式,如a*(b+c*(d+1)。 基于一个’(‘必须有与之对应的’)‘的思想,可以用栈来判断表达式是否合法。 让表达式中字符逐一入栈,每个’)‘可以带走一个’(’,判断最后’(‘是否被带完,且栈空时没有遇到’)’ #include<stdio.h> #include <stdlib...原创 2019-03-29 23:18:20 · 948 阅读 · 1 评论