題目(微軟):
輸入一顆二元樹,從上往下按層列印樹的每個結點,同一層中按照從左往右的順序列印。
例如輸入
8/ /
6 10
/ / / /
5 7 9 11
輸出8 6 10 5 7 9 11。
這裡要建乙個佇列,把左右孩子入佇列,然後列印對頭節點的值!
#include #include using namespace std;
struct bstreenode
;void insert(bstreenode** root,int n); //樹的插入操作
void inversive(bstreenode* root); //樹的反轉
int main()
void insert(bstreenode** root,int n)
else
else if (current->m_nvalue>n&¤t->m_pleft!=null)
else if (current->m_nvaluem_pright==null)
else if (current->m_nvaluem_pright!=null)
} }}
bstreenode::bstreenode(int value)
bstreenode::bstreenode()
{}void inversive(bstreenode* root)
}
輸入一顆二元查詢樹,將該樹轉換為它的映象
二叉樹 一 題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 6 10 5 7 9 11 輸出 8 10 6 11 9 7 5 定義二元查詢樹的結點為 struct bstreenode a ...
輸入一顆二元查詢樹,將該樹轉換為它的映象
輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。例如給定下列的輸入 然後有如下的輸出 解法一 遞迴 首先交換根節點8的左右子樹,10,6的左右子樹順序不變,然後交換根節點6的左右子節點,直到左右子節點為空為止。bstreenode digui bs...
15 輸入一顆二元查詢樹,將該樹轉換為它的映象
題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 6 10 5 7 9 11 輸出 8 10 6 11 9 7 5 定義二元查詢樹的結點為 struct bstreenode a node i...