Bölüm 7 · Simülasyon

Infix → Postfix Dönüştürücü

← Bölüm 7

Operatör yığını

Üst
Hazır.
Taranan
—
Ara çıktı
—
Sonuç
—
Adımları oluşturmak için ifadeyi dönüştürün.

Infix → Postfix Dönüştürücü

Sonek (postfix, ters Leh) gösterimde operatör, işlenenlerinden sonra yazılır: A + B * C ifadesi A B C * + olur. Böyle bir ifade, parantez gerekmeden bir yığınla soldan sağa hesaplanır.

Kullanım

  • Tek harfli ya da sayısal işlenenler, + - * / % ^ ve parantezlerle bir ifade yazın (en fazla 22 simge), ardından Dönüştür düğmesine basın; Örnek hazır bir ifade yükler.
  • Sonraki / Önceki dönüşümde adım adım ilerler; Oynat adımları kendiliğinden oynatır; Sıfırla başa döner; İptal oynatmayı durdurur.

Algoritma (shunting-yard)

  • İşlenen → çıktıya eklenir.
  • ( → push; ) → ( gelene dek pop edilip çıktıya yazılır.
  • Operatör → üstteki operatörün önceliği daha yüksekse ya da öncelikler eşit ve operatör soldan birleşmeliyse pop edilir; ardından operatör push edilir. ^ sağdan birleşmelidir.
  • Girdi bitince yığında kalan her şey pop edilir.

Öncelik: ^ > * / % > + -. Süre O(n).