程式**:題目:從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。
#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 第二種是需要按實際二叉樹每層擁有節點的個數進行列印 需要按行列印 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。...