從上往下列印二叉樹

2021-08-17 06:59:09 字數 1317 閱讀 8509

題目:從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。

程式**:

#include 

#include

#include

struct binarytreenode

;// 函式名稱:createbinarytree

// 函式功能:通過二叉樹的先序序列建立二叉樹

// 輸入引數:

// proot : 二叉樹的根節點

// strpreorder : 二叉樹的先序遍歷結果,空結點用『#』表示

// 輸出引數:

// 無

// 存在問題:二叉樹的結點只能是個位數字

void createbinarytree(binarytreenode *&proot, std::string &strpreorder)

if (strpreorder[0] == '#')

else

return ;

}// 函式名稱:printbinarytree

// 函式功能:先序列印二叉樹

// 輸入引數:

// proot:二叉樹根節點

// 輸出引數:

// 無

// 存在問題:無

void printbinarytree(binarytreenode *proot)

std::cout

<< proot->data << " ";

printbinarytree(proot->leftchild);

printbinarytree(proot->rightchild);

}// 函式名稱:printbinarytreefromuptobottom

// 函式功能:層次遍歷列印二叉樹

// 輸入引數:

// proot:二叉樹根節點

// 輸出引數:

// 無

// 存在問題:無

void printbinarytreefromuptobottom(binarytreenode *proot)

queuebinarytree.push(proot);

while (queuebinarytree.size() != 0)

if (ptmp->rightchild != null)

}}int main()

從上往下列印二叉樹

從上往下列印二叉樹需要乙個雙端佇列,stl提供了deque容器符合我們的要求,和測試 如下 include include include using namespace std struct binarytreenode binarytreenode createbinarytreenode in...

從上往下列印二叉樹

題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。思路 用佇列儲存將要列印的節點,出佇列時,將左節點和右節點分別加入佇列當中,直到隊列為空,列印完畢。public arraylist integer printfromtoptobottom treenode root queue qu...

從上往下列印二叉樹

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。第一種是輸出格式無要求的 struct treenode include class solution return res 第二種是需要按實際二叉樹每層擁有節點的個數進行列印 需要按行列印 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。...