熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

第三部分 樹與二叉樹[4]

2013-11-15 15:35:50  來源: 數據結構 
    中序遍歷(非遞歸)
  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

    返回《數據結構》考研復習精編

[]  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23655.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.