خیلی ساده میتونید از الگوریتم زیر استفاده کنید :
فرض می کنیم رشته ای بصورت postfix (پسوندی) در اختیار داریم و میخواهیم آنرا به infix (میانوندی) تبدیل
کنیم :
روش کار:رشته پسوندی را از چپ به راست در نظر می گیریم ، با رسیدن به هر عملوند ، آن عملوند در پشته
push میشود تا برسیم به یک عملگر ، وقتی که به یه عملگری رسیدیم دو تا عملوند از پشته pop کرده و آنرا
بشکل infix با عملگر مورد نظر نوشته و دوباره در پشته push می کنیم :
نکات مهم :
1) در این حالت همیشه عملوند top پشته ، عملوند سمت راست خواهد بود .
2) پشته اولیه ، باید پشته ای از رشته ها باشد .
در این مثال :
A , B
A+B
A+B,C,A
A+B,C*A
A+B/C*A ==>END
موفق باشید .