樹結構練習——排序二叉樹的中序遍歷
description
在樹結構中,有一種特殊的二叉樹叫做排序二叉樹,直觀的理解就是——(1).每個節點中包含有乙個關鍵值 (2).任意乙個節點的左子樹(如果存在的話)的關鍵值小於該節點的關鍵值 (3).任意乙個節點的右子樹(如果存在的話)的關鍵值大於該節點的關鍵值。現給定一組資料,請你對這組資料按給定順序建立一棵排序二叉樹,並輸出其中序遍歷的結果。
input
輸入包含多組資料,每組資料格式如下。
第一行包含乙個整數n,為關鍵值的個數,關鍵值用整數表示。(n<=1000)
第二行包含n個整數,保證每個整數在int範圍之內。
output
為給定的資料建立排序二叉樹,並輸出其中序遍歷結果,每個輸出佔一行。
sample
input12
21 20
output
21 20
//二叉排序樹的建樹方式,要發現和之前學的建樹方式有什麼不同
#include
using
namespace std;
typedef
struct node
*tree;
int k;
void
buildtree
(tree &t,
int ch)
else
}void
midoredr
(tree &t)
//中序排列,左中右
else
printf
(" %d"
, t-
>data)
;midoredr
(t->r);}
}int
main()
midoredr
(t);
printf
("\n");
}return0;
}
樹結構練習 排序二叉樹的中序遍歷
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 任意乙個節點的右子樹 如果存在的話 的關鍵...