中序遍历(非递归) Status InOrderTraverse(BiTree t Status(*Visit)(TelemType e)){ //采用二叉树的二叉链表存储结构Visit是对数据元素操作的应用函数 //中序遍历二叉树T的非递归算法对每个数据元素调用函数Visit InitStack(S); Push(st);//根指针进 While(!StackEmpty(s)){ While(GetTop(sp)&&p) Push(sp>lchild); Pop(sp); If(!StackEmpty(S)){ Pop(sp); if(!Visit(p>data)) return Error; Push(Sp>rchild);} //if }//While return ok; }//InOrderTraverse Status InOrder Traverse(BiTree T Status(*Visit)(TelemType e)){ InitStack(s); p=t; While(p||!StackEmpty(s)){ If(p){push(Sp);p=p>lchild;} Else{ Pop(sp); if(!visit(p>data)) return ERROR; P=p>rchild; }//else }//While return ok; }//InorderTravers 返回《数据结构》考研复习精编 [] [] [] [] [] [] [] [] [] [] |