(模板)樹結構練習 排序二叉樹的中序遍歷

2021-08-20 07:03:44 字數 1486 閱讀 8237

樹結構練習——排序二叉樹的中序遍歷

time limit: 1000 ms memory limit: 65536 kib

submit statistic discuss

problem description

在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是——(1).每個節點中包含有乙個關鍵值 (2).任意乙個節點的左子樹(如果存在的話)的關鍵值小於該節點的關鍵值 (3).任意乙個節點的右子樹(如果存在的話)的關鍵值大於該節點的關鍵值。現給定一組資料,請你對這組資料按給定順序建立一棵排序二叉樹,並輸出其中序遍歷的結果。

input

輸入包含多組資料,每組資料格式如下。

第一行包含乙個整數n,為關鍵值的個數,關鍵值用整數表示。(n<=1000)

第二行包含n個整數,保證每個整數在int範圍之內。

output

為給定的資料建立排序二叉樹,並輸出其中序遍歷結果,每個輸出佔一行。

sample input

1 2

2 1 20

sample output

2 1 20

hint

source

趙利強

第一部分**是上一題的,因為涉及到很多模板,所以在此加上排序二叉樹的模板,湊在一起。

第二部分的**是此題的**

/*

#include

#include

struct tree

*link[54];

char s[54];

int ans,flag;

struct tree*front_create()

return root;

}int depth(struct tree*root)

}void mid(struct tree*root)

}void after(struct tree*root)

}int searchleaf(struct tree*root)

}i++;}}

return flag;

}int main()

*/#include

#include

#include

struct tree

*root;

ints[55],ans;

struct tree*insert(struct tree*root,int

x) else

return root;//直接拿起來的就是乙個樹根,整棵樹

}void mid(struct tree*root,int w)//利用陣列是為了避免pe的錯誤出現

}int main()

mid(root,w);//第一次出錯是忘記引用這個函式了,怪不得輸出的全是0

for(i=0;i1;i++)

printf("%d\n",w[i]);

}return

0;}

樹結構練習 排序二叉樹的中序遍歷

time limit 1000ms memory limit 65536k 在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是 1 每個節點中包含有乙個關鍵值 2 任意乙個節點的左子樹 如果存在的話 的關鍵值小於該節點的關鍵值 3 任意乙個節點的右子樹 如果存在的話 的關鍵值大於該節點的關...

樹結構練習 排序二叉樹的中序遍歷

time limit 1000ms memory limit 65536k 在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是 1 每個節點中包含有乙個關鍵值 2 任意乙個節點的左子樹 如果存在的話 的關鍵值小於該節點的關鍵值 3 任意乙個節點的右子樹 如果存在的話 的關鍵值大於該節點的關...

樹結構練習 排序二叉樹的中序遍歷

time limit 1000ms memory limit 65536k 有疑問?點這裡 在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是 1 每個節點中包含有乙個關鍵值 2 任意乙個節點的左子樹 如果存在的話 的關鍵值小於該節點的關鍵值 3 任意乙個節點的右子樹 如果存在的話 的關鍵...