Input: A-B*(C+D)/E
Output:ABCD+*E/-
#include <iostream>
#include <cstdlib>
#include <string.h>
#include <stack>
using namespace std;
int priority(char op);
int main()
{
char ar[80];
stack<char> s_1;
cin >> ar;
int length = strlen(ar);
s_1.push('');
for(int i = 0; i < length; i++)
{
switch(ar[i])
{
case '(':
s_1.push(ar[i]);
break;
case ')':
{
while(s_1.top() != '(')
{
cout << s_1.top();
s_1.pop();
}
s_1.pop();
break;
}
case '+': case '-': case '*': case '/':
{
while(priority(s_1.top()) >= priority(ar[i]))
{
cout << s_1.top();
s_1.pop();
}
s_1.push(ar[i]);
break;
}
default:
{
cout << ar[i];
break;
}
}
}
while(!s_1.empty())
{
cout << s_1.top();
s_1.pop();
}
cout << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
int priority(char op)
{
int p;
switch (op)
{
case '+' :
case '-' :
p = 1;
break;
case '*' :
case '/' :
p = 2;
break;
default:
p = 0;
break;
}
return p;
}
Filed under: Data Structure | Tagged: infix, postfix
innocent teen blowjob
empty stocking fund knoxville