從上往下列印二叉樹需要乙個雙端佇列,stl提供了deque容器符合我們的要求,**和測試**如下:
#include #include #include using namespace std;
struct binarytreenode
;binarytreenode* createbinarytreenode(int value)
void connecttreenodes(binarytreenode* pparent, binarytreenode* pleft, binarytreenode* pright)
}void printtreenode(binarytreenode* pnode)
else
printf("\n");
}void printtree(binarytreenode* proot)
}void destroytree(binarytreenode* proot)
}void printfromtoptobottom(binarytreenode *ptreeroot)
dequedequetreenode;
dequetreenode.push_back(ptreeroot);
while (dequetreenode.size())
if (pnode->m_pleft)
if (pnode->m_pright)
}}// ********************測試**********************
void test(char* testname, binarytreenode* proot)
// 10
// / \
// 6 14
// /\ /\
// 4 8 12 16
void test1()
// 5
// /
// 4
// /
// 3
// /
// 2
// /
// 1
void test2()
// 1
// \
// 2
// \
// 3
// \
// 4
// \
// 5
void test3()
// 樹中只有1個結點
void test4()
// 樹中沒有結點
void test5()
void main()
從上往下列印二叉樹
題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。思路 用佇列儲存將要列印的節點,出佇列時,將左節點和右節點分別加入佇列當中,直到隊列為空,列印完畢。public arraylist integer printfromtoptobottom treenode root queue qu...
從上往下列印二叉樹
題目 從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。程式 include include include struct binarytreenode 函式名稱 createbinarytree 函式功能 通過二叉樹的先序序列建立二叉樹 輸入引數 proot 二叉樹的根節點 st...
從上往下列印二叉樹
從上往下列印出二叉樹的每個節點,同層節點從左至右列印。第一種是輸出格式無要求的 struct treenode include class solution return res 第二種是需要按實際二叉樹每層擁有節點的個數進行列印 需要按行列印 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。...