多项式求解
来源:互联网 发布:淘宝大闸蟹生产许可证 编辑:程序博客网 时间:2024/05/16 09:39
昨天写了个多项式求解的程序,从开始构思到完成调试大约用了5个小时。其中碰到不少小毛病,有的是类型不匹配,有的是端点的问题,弄得心烦意乱。于是写了个多项式,跟着程序走了一遍,终于把程序调试好。
实验的功能挺简单,只能进行单个数字的‘+’‘—’‘*’‘/’运算。如3+2*(5-3)/7
开始我没打算转成后缀表达式。想的是从开始扫描,找到‘(’就入堆栈,然后直到碰到下一个‘)’,运算其中的表达式,但是想了想还是不怎么好实现,决定用后缀表达式求解。其中用到了三个堆栈,stack<char> opr,stack<char> data ,stack<int> compute,opr存放运算符,data存放数字,这两个是在转换后缀中用的,compute是最后的求解中用的。
中缀表达式转成后缀表达式的计算机语言为:
(1):扫描字符串,如果是数字,压入data栈;
(2):A:如果是'(',直接压入opr中。
B:如果是‘)’,则将opr中的操作符弹出压入data栈,直到碰到‘(’,并delete’(’;
C:如果不是高级运算符,从栈顶开始依次弹出比当前运算符优先级高的运算符,压入data中,直到碰到一个不比他高的(如+碰到—,同一优先级,则停止)或者‘(’,则停止,并将该运算符压入data栈。
重复执行(1)(2)步,直到扫描完字符串,并将opr中的运算符出栈压入data。此时data中的就是后缀表达式。
但是如果我输入字符串是:((((a+b)/c)*d)-e)*(f*g),data存放的是ab+c/d*e-fg**,堆栈头为*,在计算是要先取ab+....所以我写了两个方法,Delete_Bottom,Get_Bottom,得到先入栈的元素和删除先入的,运用了对列的思想。
- 多项式求解
- 求解多项式
- 秦九韶算法求解多项式
- n阶勒让德多项式求解
- php 求解多项式
- 朴素 多项式期望求解
- 多项式求解【模板】
- 求最大公约数 百钱买百鸡 求解多项式
- 综合除法求解特征多项式
- Horner规则的多项式求解
- 黑马程序员___求解多项式
- 秦九韶算法 求解多项式值
- Matlab求解代数多项式方程组
- 求解一元二次多项式的根
- 递归求解多项式以及递归求排列
- OpenCV2.2求解多项式方程的根
- Graeffe法求解多项式方程单实根
- Uva 10719 - Quotient Polynomial (多项式求解)
- vim简介
- 大话设计模式(十三)——备忘录模式
- 驱动开发准备工作
- C++标准库和STL的关系 (转载)
- Linux!=windows
- 多项式求解
- Web 应用程序安全设计指南
- MATLAB英文版中文名设定(蛋疼。。)
- 一些经典但惊人的知识
- 杭州地区赛的遗憾 Rotational Painting
- 高性能数据库的访问,java程序员心中永远的痛(JDBC访问数据库的4中方式及数据库连接池中间件的设计和实现)(1)
- struts2+hibernate+spring配置管理(一)——配置文件
- [会一点电脑的人]牢记的16句话!
- JQuery 学习(一)