題目1201 二叉排序樹

2021-06-17 15:29:29 字數 1136 閱讀 3176

題目描述:輸入一系列整數,建立二叉排序數,並進行前序,中序,後序遍歷。

輸入:輸入第一行包括乙個整數n(1<=n<=100)。

接下來的一行包括n個整數。

輸出:可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序、中序和後序遍歷。

每種遍歷結果輸出一行。每行最後乙個資料之後有乙個空格。

樣例輸入:

5

1 6 5 9 8

樣例輸出:

1 6 5 9 8 

1 5 6 8 9

5 8 9 6 1

輸入中可能有重複元素,但是輸出的二叉樹遍歷序列中重複元素不用輸出。

**:

#include struct node tree[100];

int loc;

void preorder(node *t)

void inorder(node *t)

void postorder(node *t)

node *create()

node *insert(node *t, int x)

else if(t->d > x)

t->lchild = insert(t->lchild,x);

else if(t->d < x)

t->rchild = insert(t->rchild,x);

return t;

}int main() {

int n,x,i;

while(scanf("%d",&n)!=eof) {

loc = 0;

node *t= null;

for(i=0;i

滿足如下條件的二叉樹:對於樹上任一結點,其數值總比左子樹上任意結點的數值大,比右子樹小。

若對二叉排序樹進行中序遍歷,那麼其結果是乙個公升序序列。

t = insert(t,x);

題目1201 二叉排序樹

題目描述 輸入一系列整數,建立二叉排序數,並進行前序,中序,後序遍歷。輸入 輸入第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序 中序和後序遍歷。每種遍歷結果輸出一行。每行最後乙個資料之後...

題目1201 二叉排序樹

時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 3260 解決 1385 題目描述 輸入一系列整數,建立二叉排序數,並進行前序,中序,後序遍歷。輸入 輸入第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序...

題目1201 二叉排序樹 九度

題目描述 輸入一系列整數,建立二叉排序數,並進行前序,中序,後序遍歷。輸入 輸入第一行包括乙個整數n 1 n 100 接下來的一行包括n個整數。輸出 可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序 中序和後序遍歷。每種遍歷結果輸出一行。每行最後乙個資料之後...