全是自己写的~~给分~~
#include
#include
using namespace std;
#define maxSize 100
class Stack{
public:
Stack(){top = -1 ; };
boolPush(char a)
{
if(!IsFull())
c[++top] = a;
else
return false;
return true;
}
boolpop(char &a)
{
if(!IsEmpty())
a = c[top--];
else
return false;
return true;
}
boolgetTop(char &a)
{
if(!IsEmpty())
a = c[top];
else
return false;
return true;
}
boolIsEmpty()
{
return top == -1 ? true:false ;
}
boolIsFull()
{
return top == (maxSize-1) ? true:false ;
}
private:
char c[maxSize];
inttop;
};
int isp(char a)
{
if(a == '#')
return 0;
if(a == '(')
return 6;
if(a == '*' || a == '/')
return 4;
if(a == '+' || a == '-')
return 2;
if(a == ')')
return 1;
return false;
}
int icp(char a)
{
if(a == '#')
return 0;
if(a == '(')
return 1;
if(a == '*' || a == '/')
return 5;
if(a == '+' || a == '-')
return 3;
if(a == ')')
return 6;
return false;
}
void main()
{
cout