-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreverse polish notaion.cpp
More file actions
86 lines (86 loc) · 1.62 KB
/
reverse polish notaion.cpp
File metadata and controls
86 lines (86 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
//#include<iostream>
//#include<string>
//#include<cassert>
//using namespace std;
//#include "Stack.h"
//string RPN(string exp);
//int main()
//{
// string exp;
// cout<<"note:enter #for infix expression to stop.\n";
// for(;;)
// {
// cout<<"\n infix expression?";
// getline(cin,exp);
// if(exp=="#") break;
// cout<<"RPN Expression is "<<RPN(exp)<<endl;
// }
//}
//string RPN(string exp)
//{
// char token,topToken;
// Stack opStack;
// string RPNexp;
// const string BLANK=" ";
// for(unsigned int i=0;i<exp.length();i++)
// {
// token=exp[i];
// switch (token)
// {
// case ' ': break;
// case '(':opStack.push(token);
// break;
// case ')':for(;;)
// {
// assert(!opStack.empty());
// topToken=opStack.top();
// opStack.pop();
// if(topToken=='(') break;
// RPNexp.append(BLANK+topToken);
// }
// break;
// case'+': case'-':
// case'*': case'/':
// for(;;)
// {
// if(opStack.empty()||
// opStack.top()=='('||
// (token=='*'||token=='/')&&
// (opStack.top()=='+'||opStack.top()=='-')
// )
// {
// opStack.push(token);
// break;
// }
// else
// {
// topToken=opStack.top();
// opStack.pop();
// RPNexp.append(BLANK+topToken);
// }
// }
// break;
//
// default:
// RPNexp.append(BLANK+token);
// }
// }
// for(;;)
// {
// if(opStack.empty()) break;
// topToken=opStack.top();
// opStack.pop();
// if(topToken!='(')
// {
// RPNexp.append(BLANK+topToken);
// }
// else
// {
// cout<<"***Error in infix expression ***\n";
// break;
// }
// }
// return RPNexp;
//}
//
//