好心人,谁帮咱啊,二叉树顺序存储结构,对此二叉树进行中序遍历?
二叉树采用顺序存储结构,对此二叉树进行中序遍历?
求此算法
我在这里谢谢好心人了,
#define MAX_TREE_SIZE 100
#define _V(node) printf("%d ",node)
typedef int SqBiTreee[MAX_TREE_SIZE];
void InOrder(SqBiTree t,int f) {//递归算法
if(f<MAX_TREE_SIZE&&t[f]) {
InOrder(t,2*f);
_V(t[f]);
InOrder(t,2*f+1);
}
}
void InOrder_WW(SqBiTree t,int f) {//非递归While-While算法
int stack[MAX_TREE_SIZE],top=0;
while((f<MAX_TREE_SIZE&&t[f])||top) {
while(f<MAX_TREE_SIZE&&t[f]) {
stack[top++]=f;
f=2*f;
}
f=stack[--top];
_V(t[f]);
f=2*f+1;
}
}