上篇记录了二叉树的结构 这篇介绍二叉树的四种遍历方式
//层序遍历
void LevelOrderTraverse(sqBiTree T){
//首先找到最后一个结点
int i = MAXSIZE-1
while (T[i] == 0) i--
for (int j = 0
if (T[j] != 0) {
printf("%d ",T[j])
}
}
printf("\n")
}
void PreTraverse(sqBiTree T,**int** e){
printf(" %d",T[e]);
if (T[2*e+1] != 0) {
PreTraverse(T, 2*e+1);
}
if (T[2*e+2] != 0) {
PreTraverse(T, 2*e+2);
}
}
void InTraverse(sqBiTree T, int e){
if (T[2*e+1] != 0) {
PreTraverse(T, 2*e+1);
}
printf(" %d",T[e]);
**if** (T[2*e+2] != 0) {
PreTraverse(T, 2*e+2);
}
}
void PostTraverse(sqBiTree T,int e){
if (T[2*e+1] != 0) {
PreTraverse(T, 2*e+1);
}
if (T[2*e+2] != 0) {
PreTraverse(T, 2*e+2);
}
printf(" %d",T[e]);
}