式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);
}