從上往下列印二叉樹24

2021-07-13 11:13:17 字數 719 閱讀 4738

題目描述:從上往下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。即層次遍歷。

二叉樹結點定義:

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...