題目:輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。
例如輸入: 8
/\610
/\/\
57911
輸出: 8/\
10 6
/\ /\
119 75
定義二元查詢樹的結點為:
struct
bstreenode // a node in the binary search tree (bst);
#include
#include
using namespace std;
struct bitree
;void initbitree(bitree* &root)
else if(root!=null)
}void presearch(bitree* root)
coutpresearch(root->left);
presearch(root->right);
}void changeboth(bitree* &root)
changeboth(root->left);
changeboth(root->right);
bitree* t;
t=root->left;
root->left=root->right;
root->right=t;
}void mirrorrecusively(bitree* &root)
if (pnode->right)}}
int main()
程式設計師面試題精選 11 求二元查詢樹的映象
題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 6 10 5 7 9 11 輸出 8 10 6 11 9 7 5 定義二元查詢樹的結點為 c structbstreenode a node ...
求二元查詢樹的映象
題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 610 57 911輸出 8 106 11 9 7 5定義二元查詢樹的結點為 struct bstreenode a node in the ...
求二元查詢樹的映象
程式設計師面試題精選 11 求二元查詢樹的映象 題目 輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 610 5 7911輸出 8 106 1197 5定義二元查詢樹的結點為 struct bst...