I come, I see, I conquer

                    —Gaius Julius Caesar

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

void BiTree2DuList(BSTreeNode *BST)
{
    LinkStack S;  BSTreeNode 
*= NULL;  BSTreeNode *= NULL;
    InitStack(S); p 
= BST;
    
while (p || !StackEmpty(S)) {
        
if (p) { Push(S, p); p = p->m_pLeft; }
        
else {
            Pop(S, p);  
            
if (q) q->m_pRight = p; p->m_pLeft = q; q = p; //中序遍历修改结点左右孩子指针
            p 
= p->m_pRight;
        }
    }
}

 

posted on 2011-05-01 14:19  jcsu  阅读(403)  评论(0编辑  收藏  举报