Przykład 2 Wyrażenie w notacji infiksowej: 5 + (1+2) × 4 − 3 Wyrażenie ONP: 5 1 2 + 4 × + 3 −
KrokWejścieStosOperacja155Odłóż na stos215 1Odłóż na stos325 1 2Odłóż na stos4 +5 3Zdejmij ze stosu dwa razy ( 1 i 2 ), następnie oblicz ( 1 + 2 = 3 ) a wynik odłóż na stos545 3 4Odłóż na stos6×5 12Zdejmij ze stosu dwa razy ( 3 i 4 ), następnie oblicz ( 3 × 4 = 12 ) a wynik odłóż na stos7 +17Zdejmij ze stosu dwa razy ( 5 i 12 ), następnie oblicz ( 5 + 12 = 17 ) a wynik odłóż na stos8317 3Odłóż na stos9 −14Zdejmij ze stosu dwa razy ( 17 i 3 ), następnie oblicz ( 17 − 3 = 14 ) a wynik odłóż na stos
Wartość wyrażenia (zdejmij ze stosu ostatni element): 14
Konwersja z notacji infiksowej do ONP Edsger Dijkstra jest autorem algorytmu nazywanego „stacją rozrządową”, ponieważ jest w działaniu bardzo podobny do kolejowej stacji rozrządowej. Tak jak algorytm liczący wartość wyrażenia ONP, działa na bazie stosu. Do konwersji używane są dwa łańcuchy znaków – wejściowy oraz wyjściowy. Potrzebny jest także stos, przechowujący operatory niedodane jeszcze do ciągu wyjściowego. Program czyta kolejno wszystkie znaki wejścia i wykonuje odpowiednie operacje, zwracając uwagę na to, jaki typ symbolu jest wczytywany. W algorytmie są stosowane takie pojęcia jak priorytet i łączność operatorów, które należy rozumieć zgodnie z poniższą tabelą.