數據結構之建立二叉樹

例如 str---A(B(D(,G)),C,(E,F))ide


掃描採用括號表示法表示二叉樹的字符串 讀到的符號爲ch字符串


使用一個棧保存雙親結點it


引入一個變量k 做用是指定其後處理的是左孩子仍是右孩子class

k=1 處理左孩子 k=2 處理右孩子變量


狀況以下 二叉樹

遇到一個實實在在的字母時建立一個節點di

1 遇到 ch=左括號  將前面建立的結點做爲父節點進棧,置k=1,表示其後的結點將做爲這個節點的左孩子view

2 遇到 ch=逗號 表示其後面建立的結點爲右孩子結點(結點指的是實實在在的字母 不然無效)置k=2vi

3遇到 ch=右括號 表示棧中結點的左右孩子處理完畢,退一次棧co


可是建立過程要以始終棧頂元素爲父結點

相關文章
相關標籤/搜索