12 2018 档案
摘要:已知:后缀表达式已经按规则排在一个栈中。 计算后缀表达式的过程主要按下面的思路进行: 1.保存数据的栈为fx1,创建一个新的栈ans; 2.每次读取时,若fx1不空: 1)若为数据,直接入栈。 2)若为操作符: (1)若不为'/':读取ans栈顶两次,取出数据运算后放回栈中。 (2)若为'/':读取
阅读全文
摘要:根据在 【应用】浮点数四则运算器 Part1:输入模块的编写 中的规划,有如下思路: 需要计算的部分实际上是flag=0的部分,其余部分都有其他对应的操作。 当flag=0时, 1.扫描all全部数据,找到其中字母元x,检查是否有对应值。 若没有:返回error code 3: undefined
阅读全文
摘要:下面首先记录浮点数四则运算器输入模块的编写。 思路和要求记录如下: 全局变量: string dat--保存正在输入的串 string all[]--保存输入完成的串 map用于计数 flag用于记录应该执行哪一种输出模式 x用于记录已经输入的数据的个数 一、对输入数据的预处理。 用getchar输
阅读全文
摘要:在 【数据结构】栈与队列Part2:栈的应用之表达式转换 中,保存表达式的数据类型是string类型,而atof()函数是将char[]类型转化为浮点数的函数。 因此,将string转化为char[]的方法是非常重要的。 查阅资料:c++ string转char* 我主要采用这篇文章提到strcpy
阅读全文
摘要:这里主要记录:中缀表达式与后缀表达式的转换。 中缀表达式,即就是常用于人类理解的一般表达式。 后缀表达式,即就是常用于机器读取的特殊表达式。 此外还有前缀表达式。 给出中缀表达式的例子:9 + ( 3 - 1 ) * 3 + 10 / 2 给出后缀表达式的例子:9 3 1 - 3 * + 10 2
阅读全文
摘要:First.栈(Stack) 定义:后进先出的线性表 操作: #include<stack> 头文件 stack<int> s; 创建int类型的栈s s.push(x); 将x放入栈中 s.top(); 读取栈顶元素 s.pop(); 释放栈顶 s.size(); 返回栈中元素数目 s.empty
阅读全文