1、二叉樹表示式求值
基於二叉樹的表示式求值
描述輸入乙個
表示式(表示式中的數均為小於
10的正整數)
,利用二叉樹
來表示該
表示式,建立表示式樹,然後
利用二叉樹的遍歷操作
求表示式的值。輸入
多組資料。每組資料一行,為乙個表示式,表示式以『=』結尾。當輸入只有乙個「=」時,輸入結束。
輸出每組資料輸出一行,為表示式的值。
輸入樣例 1
2*(2+5)=1+2=
=
輸出樣例 1
143
#include#include#include
#include
#include
using
namespace
std;
typedef
struct node*bintree;
typedef bintree bt;
string
s;queue
num;
queue
op;struct
node
;int fact(char
c)bt createnode(
char
c)bt createtree()
bt head =null;
int flag = 0; //
標記有括號時的情況
int sflag = 0; //
處理開始時為括號的情況
if (s[0] == '
(') sflag = 1
;
while (!op.empty())//
非空
else
head =t;
}else
else}}
else
if (option == '
*' || option == '/'
)
else
else}}
if (flag == 1
)
else}}
}else
if (option == '('
)
else
if (option == ')'
)
}return
head;
}void
solve(bt l)
}int
main()
return0;
}
資料結構實驗三
一 要求完成時間 實驗開始後的第四周之前完成 二 實驗目的 1 掌握有序鍊錶的基本操作 插入 刪除 查詢。2 掌握鍊錶遍歷器的使用方法。三 實驗內容 輸入n個不為零的整數作為節點元素值,遇到0代表輸入結束 不建立元素值為0的節點 建立有序鍊錶。輸出整個鍊錶。輸入乙個整數,將該數插入到有有序鍊錶相應位...
資料結構與演算法 實驗三
1 利用順序棧將乙個非負的十進位制整數n轉換為對應的b進製數。要求 非負的十進位制整數n和b都從鍵盤輸入 轉換結果從螢幕輸出。2 括號匹配問題,編寫乙個判別表示式中括號是否正確配對的函式,並設計乙個測試主函式。include include define maxstacksize 100 typed...
資料結構實驗之串三
資料結構實驗之串三 kmp應用 有n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到n。現在給出m個數,能不能唯一的確定一對值l和r l r 使得這m個數剛好是第l個小朋友到第r個小朋友手裡的糖塊數?input 首先輸入乙個整數n,代表有n個小朋友。下一行輸入n個數,分別代表...