postordertraverse.c

来自「数据结构动画演示系统(运行需安装.NET框架1.1)」· C语言 代码 · 共 24 行

C
24
字号
Status PostOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){
    //后序遍历二叉树的非递归算法,对每个元素调用函数Visit
    BiTree p = T,q = NULL;
    SqStack S;	InitStack(S);  Push(S,p);
    while (!StackEmpty(S)){
		if(p && p != q){
	    	Push(S,p);
	    	p=p->lchild;
		}
    	else{
	    	Pop(S,p);
	    	if(!StackEmpty(S)){
				if(p->rchild && p->rchild != q){
		    		Push(S,p);
            	    p=p->rchild;}  //if
				else{			
           	   		Visit(p->data);
		    		q = p;}  //else
	    	} //if
		}  //else
    }  //while
    return OK;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?