我需要实现中缀到后缀的转换算法来计算表达式 a+b*cd/e
我还需要使用队列来执行此操作(我相信需要 2 个不同的队列堆栈)
我已经使用 DoubleLinkList 创建了我的队列类,现在只需要为这个问题创建算法。不过,我很不知道该怎么做。任何帮助,将不胜感激!
到目前为止(我知道这是非常错误的)我有:
string infix = "a+b*c-d/e";
Queue *holder = new Queue();
Queue *newstring = new Queue();
int length = infix.length();
char temp;
char prev;
for(int i=0; i<length; i++)
{
temp = infix[i];
if((temp == '+') || (temp == '-') || (temp == '*') || (temp == '/'))
{
if (holder->isEmpty())
{
holder->queue(temp);
}
if(temp<holder.enqueue())
{
}
}
holder->queue(temp);
}