简单的个位后缀表达式实现——栈的应用
来源:互联网 发布:人肉搜索网络团队 骗 编辑:程序博客网 时间:2024/05/29 14:35
#include <iostream>#include <vector>#include <stack>using namespace std;int compare(char ch1,char ch2){ switch(ch1){ case '+': case '-':if(ch2=='*'||ch2=='/') return 1; else return 0; break; case '*': case '/':return 0;break; }}int main(){ vector <char>num; stack <char>ope; stack <int>cal; char a; while(cin>>a&&a!='='){ if(a>='0'&&a<='9'){ num.push_back(a); } else{ if(!ope.empty()){ while(!ope.empty()&&compare(a,ope.top())){ num.push_back(ope.top()); ope.pop(); } ope.push(a); } else ope.push(a); } } while(!ope.empty()){ num.push_back(ope.top()); ope.pop(); } for(auto ch:num) cout<<ch<<' '; cout<<endl; int sum=0; for(auto d:num){ if(d>='0'&&d<='9'){ cal.push(d-'0'); } else{ int a=cal.top(); cal.pop(); int b=cal.top(); cal.pop(); switch(d){ case '+':sum=a+b; cal.push(sum);break; case '-':sum=b-a; cal.push(sum);break; case '*':sum=a*b; cal.push(sum);break; case '/':sum=b/a; cal.push(sum);break; } } } cout<<sum<<endl; return 0;}
0 0
- 简单的个位后缀表达式实现——栈的应用
- 简单的用栈实现后缀表达式
- C++栈的应用——后缀表达式求值、中缀表达式到后缀表达式的转换
- 中缀表达式转后缀表达式算法及实现—栈的应用
- 栈的应用--后缀表达式和中缀表达式的实现
- 栈的应用---后缀表达式
- 栈的应用-后缀表达式
- 栈的应用 ---后缀表达式
- 栈的应用——中缀表达式转后缀表达式,后缀表达式的求值,中缀表达式求值
- 栈的应用——后缀表达式的计算
- 后缀表达式计算——栈的应用
- 栈的应用—中缀转后缀求表达式值
- 数据结构—中缀表达式转后缀表达式算法及实现—栈的应用—计算表达式(C++代码实现)(1)
- 后缀表达式(4)-——中缀表达式到后缀表达式的转换,递归实现
- 栈应用 - 后缀表达式的计算
- hdu 1237 后缀表达式 栈的应用
- 栈的应用1;后缀表达式求解
- 后缀表达式计算-栈的应用
- 共用体使用举例
- 前端构建:Source Maps详解
- 二维数组最大值
- 学生信息的输入输出
- 函数调用冒泡排序
- 简单的个位后缀表达式实现——栈的应用
- 字符串排序
- 1-99的绝对素数(调用函数)
- 在有序数列中插入数字并保持有序
- 杨辉三角
- 求圆环面积
- 王曙燕《c语言程序设计》习题6.10
- 递归求阶乘
- 深入解析unsigned int 和 int