樹結構練習——排序二叉樹的中序遍歷
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 任意乙個節點的右子樹 如果存在的話 的關鍵...