我需要實現綴到後綴轉換算法來計算表達式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);
}
快速谷歌搜索 「轉換到綴後綴」 產生[本內容豐富的文章(http://scriptasylum.com/tutorials/infix_postfix /algorithms/infix-postfix/index.htm)。你可能想從那裏開始。 – 2013-03-14 17:32:33