題目1201 二叉排序樹

2022-09-03 03:39:05 字數 2404 閱讀 1314

時間限制:1 秒

記憶體限制:32 兆

特殊判題:

提交:3260

解決:1385

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

輸入:輸入第一行包括乙個整數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

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

2023年華中科技大學計算機保研機試真題

下面是cpp的**,參考朋友的。盡量改成c

#include#include

#include

using

namespace

std;

struct

node

;void insert(int x,node *&p)

else

if(p->key>x)

insert(x,p->lc);

else

if(p->keyinsert(x,p->rc);

else

if(p->key==x)return;}

node* create(int

n)

returnf;}

void pre_order(node *p)

}void in_order(node *p)

}void post_order(node *p)

}void free(node *p)

}int

main()

return0;

}

下面是c語言的

#include#include

struct

node

;void insert(int x,node *&p)

else

if(p->key>x)

insert(x,p->lc);

else

if(p->keyinsert(x,p->rc);

else

if(p->key==x)return;}

node* create(int n,node *&f)

returnf;}

void pre_order(node *p)

}void in_order(node *p)

}void post_order(node *p)

}void free(node *p)

}int

main()

return0;

}

很奇怪的一點,在dev c++上c編譯通過,但是oj上卻是編譯錯誤。

考慮到c++相容c,所以講上述**用c++編譯,ac。

好吧,不明覺厲。

下面是自己寫的c**,除了引用,其他都是c

1 #include 2 #include 3 typedef struct

btnode

4btnode;

10void preorder(btnode *p)

1119}20

void inorder(btnode *p)

2128}29

void postorder(btnode *p)

3037}38

39void myinsert(int num,btnode *&p)

4049

else

if((p->data)50 myinsert(num,p->rchild);

51else

if((p->data)>num)

52 myinsert(num,p->lchild);53}

54void create(btnode *&p,int

n)55

6566}67

void myfree(btnode *p)

6875}76

77int main(void)78

9596

return0;

97 }

題目1201 二叉排序樹

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

題目1201 二叉排序樹

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

題目1201 二叉排序樹 九度

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