problem description
有一棵二叉樹,其結點值為字元型並假設各值互不相等,採用二叉鍊錶儲存。現輸入其擴充套件二叉樹的前序遍歷序列,建立該二叉樹,要求在該二叉樹中查詢字元值為x的結點,找到x時,輸出x的相關資訊,沒找到x則輸出"not find"。
input
第一行為乙個整數n,表示以下有n組資料,每組資料佔兩行,每組第一行表示擴充套件二叉樹的前序遍歷序列;第二行表示待查詢的字元x。
output
若查詢成功,先輸出該結點的雙親值,再輸出其左右孩子值:(左孩子,右孩子),若其雙親或者孩子值為空輸出#;查詢失敗輸出「not find」。
sample input
4ab#d##c##
aab#d##c##
bab#d##c##
dab#d##c##
gsample output
#includeusing namespace std;
struct binode
;binode *creat()
return root;
}binode *haizi(binode *root,char x)
else
}} else
return null;
}binode *parent(binode *root,char x)
else }
else
return null;
}int main()
;binode *creat()
bt->rchild=creat();
if(bt->rchild)
}return bt;
}void release(binode *bt)
}binode *locate(binode *bt,char x)
return locate(bt->rchild,x);
} else return null;
}int main ()
else
cout<<"not find"
} return 0;
}
二叉鍊錶查詢
有一棵二叉樹,其結點值為字元型並假設各值互不相等,採用二叉鍊錶儲存。現輸入其擴充套件二叉樹的前序遍歷序列,建立該二叉樹,要求在該二叉樹中查詢字元值為x的結點,找到x時,輸出x的相關資訊,沒找到x則輸出 not find 第一行為乙個整數n,表示以下有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 前序...