題目描述給出乙個資料序列,建立二叉排序樹,並實現查詢功能
對二叉排序樹進行中序遍歷,可以得到有序的資料序列
輸入
第一行輸入t,表示有t個資料序列
第二行輸入n,表示首個序列包含n個資料
第三行輸入n個資料,都是自然數且互不相同,資料之間用空格隔開
第四行輸入m,表示要查詢m個資料
從第五行起,輸入m行,每行乙個要查詢的資料,都是自然數
以此類推輸入下乙個示例
輸出
第一行輸出有序的資料序列,對二叉排序樹進行中序遍歷可以得到
從第二行起,輸出查詢結果,如果查詢成功輸出查詢次數,如果查詢失敗輸出-1
以此類推輸出下乙個示例的結果
樣例輸入
22 33 55 66 11 44
樣例輸出
11 22 33 44 55 66
-1
#include
using
namespace std;
int flag,cnt;
class
node
node
(int _data)
~node()
};class
tree};
void
insert
(node *
&node,
int data)
if(node-
>data < data)
else
}void
search
(node *node,
int data)
if(data < node-
>data)
else
}void
output
(node *node)
intmain()
output
(tree.root)
; cout
cin>>m;
while
(m--
)else
cout
}
DS二叉排序樹之查詢
題目描述 給出乙個資料序列,建立二叉排序樹,並實現查詢功能 對二叉排序樹進行中序遍歷,可以得到有序的資料序列 輸入第一行輸入t,表示有t個資料序列 第二行輸入n,表示首個序列包含n個資料 第三行輸入n個資料,都是自然數且互不相同,資料之間用空格隔開 第四行輸入m,表示要查詢m個資料 從第五行起,輸入...
DS二叉排序樹之刪除
給出乙個資料序列,建立二叉排序樹,並實現刪除功能 對二叉排序樹進行中序遍歷,可以得到有序的資料序列 第一行輸入t,表示有t個資料序列 第二行輸入n,表示首個序列包含n個資料 第三行輸入n個資料,都是自然數且互不相同,資料之間用空格隔開 第四行輸入m,表示要刪除m個資料 從第五行起,輸入m行,每行乙個...
查詢 二叉排序樹
順序查詢 順序查詢又叫線性查詢,是最基本的查詢技術,它的查詢過程是 從表中第乙個記錄開始,逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,找到所查的記錄 如果知道最後乙個記錄,其關鍵字和給定值比較都不等時,則表中沒有所查的記錄,查詢不成功。順序查詢演算法實現 如下 順序...