Odwrotna Notacja Polska - drukuje sie co 2 znak

0

Witam

W moim kodzie nie wiem dlaczego drukuje się co 2 znak, jeśli jest on o tym samym priorytecie. Bardzo proszę o pomoc w znalezieniu błędu. KOD: http://pastebin.com/Syc2LPv3

Pozdrawiam

0

Stosujesz algorytm Dijkstry? Moim zdaniem, metoda processOperator jest błędna.

    public void proccessOperator(char op)
    {
        char topOp;
        if(stos.isEmpty())
        {
            stos.push(op);
            return;
        }
        while(!stos.isEmpty() && priorytet(stos.peek()) > priorytet(op))
        {
            topOp = stos.pop();
            postFix+=topOp;
        }
        stos.push(op);
    }
0

Dodałem nawiasy do tego programu i wszystko ładnie się konwertuje. Wynik jest z nawiasami jest dobry, tylko że w stosie zostają nawiasy i na końcu się drukują. W programie na końcu są testy i widać o co mi chodzi dokładnie. Gdzie zrobiłem błąd ?

0

Gdzie zrobiłem błąd ?
W kodzie.
Przy poprawnej implementacji algorytmu Dijkstry, na stosie nie ma nawiasów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1