Odwrotna Notacja Polska - drukuje sie co 2 znak

Odwrotna Notacja Polska - drukuje sie co 2 znak
A7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 46
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

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
    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);
    }
A7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 46
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 ?

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.