2012-10-11 172 views
-2

想象一個算術表達式,例如(+ 1(* 2( - 3 5)))被認爲是一個樹狀結構,葉子處的數字和內部節點處的運算符號如下:(left-operand operator right-operand)用樹表示的算術表達式

我試圖寫一個函數
(make-expr left-op operator right-op)

產生:

 + 
/ \ 
    1  * 
    /\ 
     2 - 
     /\ 
     3 5 

每個節點都可以通過三個元素的列表來表示210 (left-op operator right-op)

例如: (make-expr '(6 * 3) '+ '(5 -2)) => ((6 * 3) + (5 - 2))

回答

2
> (list '(6 * 3) '+ '(5 - 2)) 
((6 * 3) + (5 - 2) 

是的,這是因爲使用list功能一樣簡單。