有一棵二叉樹,其結點值為字元型並假設各值互不相等,採用二叉鍊錶儲存。現輸入其擴充套件二叉樹的前序遍歷序列,建立該二叉樹,要求在該二叉樹中查詢字元值為x的結點,找到x時,輸出x的相關資訊,沒找到x則輸出"not find"。
第一行為乙個整數n,表示以下有n組資料,每組資料佔兩行,每組第一行表示擴充套件二叉樹的前序遍歷序列;第二行表示待查詢的字元x。
若查詢成功,先輸出該結點的雙親值,再輸出其左右孩子值:(左孩子,右孩子),若其雙親或者孩子值為空輸出#;查詢失敗輸出「not find」。
4ab#d##c##
aab#d##c##
bab#d##c##
dab#d##c##
g
#(b,c)a(#,d)
b(#,#)
not find
#include#include#includeusing namespace std;
typedef struct binode binode,*bitree;
class tree
~tree()
void preorder()
bool find(char ch)
void parent(char ch) else
}void children(char ch) else }}
void release(bitree t)
}void preorder(bitree root)
}bitree creat() else
return bt;
}bitree temp;
bitree p;
void parent(bitree root,bitree p,char ch)
parent(root->lchild,root,ch);
parent(root->rchild,root,ch);}}
char rtemp,ltemp;
void children(bitree root,char ch)
children(root->lchild,ch);
children(root->rchild,ch);}}
};int main() else }}
return 0;
}
二叉鍊錶查詢
problem description 有一棵二叉樹,其結點值為字元型並假設各值互不相等,採用二叉鍊錶儲存。現輸入其擴充套件二叉樹的前序遍歷序列,建立該二叉樹,要求在該二叉樹中查詢字元值為x的結點,找到x時,輸出x的相關資訊,沒找到x則輸出 not find input 第一行為乙個整數n,表示以下...
二叉查詢樹《鍊錶實現》
thinking 第乙個結點作為根結點,然後接下來每個結點與根結點對比,如大於根結點則放右邊,小於根結點則放左邊,然後比較下乙個結點,知道遇到空節點則儲存 輸入樣例 96 3 8 5 2 9 4 7 10 輸出樣例 前序遍歷 6 3 2 5 4 8 7 9 10 include include us...
二叉樹 二叉鍊錶
include using namespace std typedef char elemtype int n 0 typedef struct binode binode class bitree bitree binode getroot void preorder binode root 前序...