題目描述:從上往下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。即層次遍歷。
二叉樹結點定義:
struct bintreenode;
解題思路:
使用容器佇列,利用其先進先出的特點。
每次先列印根節點,若其有子節點,則將子節點全部放入佇列的隊尾。
接下來從頭部取出頭節點,知道佇列沒有元素入隊,並且遍歷佇列所有元素,直至其為空
測試用例:
int main()
函式實現:
void printfromtoptobotto(bintreenode *treeroot)
}
其他函式實現:
//其他函式實現
//建立根節點,值為e
bintreenode* bintreenode::createroot(int e)
//作為節點的左孩子插入元素e
void bintreenode::insertaslc(int e)
//作為節點的右孩子插入元素e
void bintreenode::insertasrc(int e)
從上往下列印二叉樹
從上往下列印二叉樹需要乙個雙端佇列,stl提供了deque容器符合我們的要求,和測試 如下 include include include using namespace std struct binarytreenode binarytreenode createbinarytreenode in...
從上往下列印二叉樹
題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。思路 用佇列儲存將要列印的節點,出佇列時,將左節點和右節點分別加入佇列當中,直到隊列為空,列印完畢。public arraylist integer printfromtoptobottom treenode root queue qu...
從上往下列印二叉樹
題目 從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。程式 include include include struct binarytreenode 函式名稱 createbinarytree 函式功能 通過二叉樹的先序序列建立二叉樹 輸入引數 proot 二叉樹的根節點 st...