می تونی از الگوریتم Shaunting yard استفاده کنی .
برای پیاده سازی
باید یک queueبرای خروجی
و یک stack برای ذخیره اپراتور ها بسازید.
بعد عبارت رو پیمایش کنید هر جا که عدد بود به queue اضافه کنید.
و هر جا که +/*- بود اول داخل stack رو چک کنید اپراتور هایی که اولویت یکسان یا کمتر دارند رو از stack بردارید و به queue اضافه کنیید نهایتا هم اون اپراتور رو به stack اضافه کنید .
برای پرانتز هم اگر پرانتز باز بود به stack اضافه کنید اگر پرانتز بسته بود تا رسیدن به پرانتز بسته عناصر رو از داخل stack به queue بفرستید .
نهایتا هم محتوای queue میشه عبارت پسوندی مورد نظر.