給出乙個資料序列,建立二叉排序樹,並實現插入功能
對二叉排序樹進行中序遍歷,可以得到有序的資料序列
第一行輸入t,表示有t個資料序列
第二行輸入n,表示首個序列包含n個資料
第三行輸入n個資料,都是自然數且互不相同,資料之間用空格隔開
第四行輸入m,表示要插入m個資料
從第五行起,輸入m行,每行乙個要插入的資料,都是自然數且和前面的資料不等
以此類推輸入下乙個示例
第一行輸出有序的資料序列,對二叉排序樹進行中序遍歷可以得到
從第二行起,輸出插入第m個資料後的有序序列,輸出m行
以此類推輸出下乙個示例的結果16
22 33 55 66 11 44
377 50 10
11 22 33 44 55 66
11 22 33 44 55 66 77
11 22 33 44 50 55 66 77
10 11 22 33 44 50 55 66 77
#include
using
namespace std;
class
snode
snode
(int a)
:data
(a),
lchild
(null),
rchild
(null)~
snode()
};class
stree
else
create_tree
(t->rchild, c);}
else
else
create_tree
(t->lchild, c);}
}void
mid_order
(snode *t)
}public
:stree()
:root
(null
)void
create_tree()
void
mid_order()
void
insert
(int t)
else
a = a-
>lchild;
}else
else
a = a-
>rchild;}}
}int
search
(int t)
return-1
;}void
set_time()
};intmain()
int nn;
cin >> nn;
int b;
for(
int i =
0; i < nn; i++)}
return0;
}
DS二叉排序樹之建立和插入
題目描述 給出乙個資料序列,建立二叉排序樹,並實現插入功能 對二叉排序樹進行中序遍歷,可以得到有序的資料序列 輸入 第一行輸入 t,表示有 t個資料序列 第二行輸入 n,表示首個序列包含 n個資料 第三行輸入 n個資料,都是自然數且互不相同,資料之間用空格隔開 第四行輸入 m,表示要插入 m個資料 ...
DS二叉排序樹之刪除
給出乙個資料序列,建立二叉排序樹,並實現刪除功能 對二叉排序樹進行中序遍歷,可以得到有序的資料序列 第一行輸入t,表示有t個資料序列 第二行輸入n,表示首個序列包含n個資料 第三行輸入n個資料,都是自然數且互不相同,資料之間用空格隔開 第四行輸入m,表示要刪除m個資料 從第五行起,輸入m行,每行乙個...
DS二叉排序樹之查詢
題目描述 給出乙個資料序列,建立二叉排序樹,並實現查詢功能 對二叉排序樹進行中序遍歷,可以得到有序的資料序列 輸入第一行輸入t,表示有t個資料序列 第二行輸入n,表示首個序列包含n個資料 第三行輸入n個資料,都是自然數且互不相同,資料之間用空格隔開 第四行輸入m,表示要查詢m個資料 從第五行起,輸入...