一、实验目的 1、掌握顺序栈的类型定义方法。 2、掌握在顺序栈上实现的六种基本算法。 2、掌握顺序栈的简单应用。 二、 实验内容 1、实现一个栈数据结构。 2、利用栈实现中缀表达式与前缀表达式的转换。 三、相关内容介绍 标准的表达式如"A+B",在数学上学名叫中缀表达式(Infix Notation),原因是运算符号在两个运算对象的中间。相对应的还有前缀表达式(Prefix Notation),如:"+ - A * B C D",转换成中缀表达式为:"A - B * C + D";后缀表达式 (Postfix Notation),比如前所述的中缀表达式转换为后缀表达式为:"A B C * - D +"。 四、实例 中缀:a+b*c-(d+e) 后缀:((a(bc)* )+ (de)+ )- 把括号去掉:abc*+de+- 前缀:-( +(a *(bc)) +(de)) 把括号去掉:-+a*bc+de
1
主要介绍了正则表达式的字符串替换方法,用到了一些高级的正则写法,需要的朋友可以参考下
2022-06-08 12:59:21 23KB 正则表达式 字符串替换
1
熟悉语法分析原理及4种常用的语法分析方法; 其中: 四种算法为 (1)设计算术表达式的递归下降子程序分析算法 (2)设计算术表达式的LL(1) 分析算法 (3)设计算术表达式的简单优先分析算法 (4)设计算术表达式的SLR(1) 分析算法 选择上述一种方法并设计一个表达式的语法分析器。 (本实验设计的是递归下降的表达式语法分析器)
1
关系代数表达式总结-数据库
2022-06-07 20:03:23 163KB 数据库 文档资料 database
logstash grok 添加了自定义的正则表达式,可以提取出日志的等级,日志的时间,日志的线程号
2022-06-07 18:13:06 753B logstash配置文件
1
正则表达式判断密码强度是否符合标准,此处具有大小写,特殊字符,数字判断。对密码周期也进行判断。
2022-06-07 11:10:40 44KB 密码强度 正则表达式 密码周期
1
1、先读入一行表达式,用一个字符数组line[]存储 2、依次读入每个字符并进行处理同是进行表达式判错: 1. 遇数字,则继续判断下一个字符,直到下一个字符不是数字且不是小数点,若该数含有两个小以上数点,则表示输入错误。否则即可保证该操作数是完整的浮点数,然后将该数入操作数栈。 若数字不是表达式的最后一位,且数字后面跟的不是“+、-、*、/、^、)”,则为表达式错误 2. 遇运算符,则分两种情况: 1、若运算符为负号(该运算符为符号的情况有两种:一为负号在最开头,一为符号前面是“(” ),则先将0入操作数栈,然后再将负号入运算符栈。 2、该运算符不是负号则与运算符栈的栈顶元素比: (1) 若栈顶元素优先级低, 新输入的运算符入栈。 (2) 若栈顶元素优先级高, 1) 从符号栈弹出一个运算符, 2) 从对象栈弹出一个/两个操作数, 3) 运算结果压入对象栈。 (3) 优先级相等,则栈顶元素出栈,与输入元素对消。 若“(、+、-、*、/、^”放在表达式最后面,则表达式错误 若“+、-、*、/、^”后面跟的不是数字或者变量,表达式错误 3、遇字母变量,则继续判断下一个字符,直到下一个字符不是字母变量,即可保证该变量是完整的,然后输出“请输入变量的值”,再将输入的变量值入操作数栈。 若变量后面跟的不是“+、-、*、/、^、)”,则表达式错误 4、若所读的该字符不是上述情况中的一种,则表达式错误 3、当将所有的字符都读一遍之后,若表达式正确的话,则必然不含有“(”或者“)”。即若运算符栈中含有“(”或者“)”,则表达式必错误。 再考虑表达式正确的情况:运算符栈可能为空,则操作符栈中必剩下一个操作数,即最后的结果。若不为空,则留在运算符栈中的运算符的优先级别从栈顶至栈底依次递减。故可从运算符栈顶开始弹出一个运算符,从操作数栈中弹出两个操作数进行运算,再将运算结果入操作数栈,一直循环至运算符栈为空。此时操作数栈剩下的唯一一个操作数就是运算结果。
2022-06-07 08:51:30 897B c语言
1
题目链接 为了降低难度。以下分别为,只考虑大小写字母和等号的方程组、加入数字、加入括号(非嵌套) import re def cnt(string: str): pattern = r"[A-Z][a-z]*" #匹配元素 elements = re.findall(pattern, string) count = {} # 统计元素词频 for item in elements: if item in count: count[item] += 1 else: count
2022-06-06 13:52:29 60KB 化学 化学方程式 正则
1
利用subs函数对符号表达的变量进行替换求值
2022-06-06 08:51:34 32KB subs函数 符号表达式 求值
1
C计算器,支持+、-、*、/、^、!、(、) 数学函数 sin cos tan cot sign ln log sinh cosh tanh coth等 支持正负 支持*的省略 支持弧度角度转化 支持大整数的加减 支持设置精度 支持常数PI和E 支持文件储存
2022-06-06 07:39:46 949KB C语言 计算器 表达式
1