題目:
輸入一顆二元樹,從上往下按層列印樹的每個結點,同一層中按照從左往右的順序列印。
輸入:8
/ \
6 10
/ \ / \
5 7 9 11
輸出:8 6 10 5 7 9 11。
/*title: 16.從上到下從左到右列印二元樹
author: gocode
date: 2012-10-17*/
#include
#include
using
namespace
std;
typedef
struct
node
bstnode;
void
addbstnode(bstnode* &pnode,
intkey)
else
if(key < pnode->m_pdata)
addbstnode(pnode->m_pleft, key);
else
if(key > pnode->m_pdata)
addbstnode(pnode->m_pright, key);
else
cout<<"duplicate node is not allowed."
<
} void
displaybstfromtopbottomleftright(bstnode* root, deque&dequeue)
} void
main()
程式設計師100題 15 求二元查詢樹的映象
題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 610 57911 輸出 8 10 6 119 75 定義二元查詢樹的結點為 struct bstreenode a node in the ...
程式設計之美 07 層序列印二元樹,每層列印一行
題目 輸入一顆二元樹,從上往下按層列印樹的每個結點,同一層中按照從左往右的順序列印。例如輸入 8 6 10 5 7 9 11 輸出8 6 10 5 7 9 11 我們增加一下難度,我們列印如下的結果 8 6 10 5 7 9 11 看到這裡大家已經知道我們是怎麼列印的吧。按行列印。如下 includ...
16 輸入一顆二元樹,從上往下按層列印樹的每個結點
題目 微軟 輸入一顆二元樹,從上往下按層列印樹的每個結點,同一層中按照從左往右的順序列印。例如輸入 8 6 10 5 7 9 11 輸出8 6 10 5 7 9 11。這裡要建乙個佇列,把左右孩子入佇列,然後列印對頭節點的值!include include using namespace std s...