void BTInorder (tBTNodePtr RootPtr) { /* --------- ** Prùchod stromem typu inorder implementovaný nerekurzivnì s vyu¾itím funkce ** Leftmost_Inorder a zásobníku ukazatelù. Zpracování jednoho uzlu stromu ** realizujte jako volání funkce BTWorkOut(). **/ tStackP s; SInitP(&s); Leftmost_Inorder(RootPtr, &s); while(!SEmptyP(&s)){ RootPtr=STopPopP(&s); BTWorkOut(RootPtr); Leftmost_Inorder(RootPtr->RPtr, &s); } }
/** * Prechod stromom typu InOrder implementovany nerekurzivne s vyuzitim funkcie * Leftmost_Inorder a zasobniku ukazovatelov. * @param RootPtr - koren stromu **/ void BTInorder(tBTNodePtr RootPtr) { if(RootPtr != NULL) { tStackP s; tBTNodePtr temp = NULL; SInitP(&s); Leftmost_Inorder(RootPtr, &s); while(!SEmptyP(&s)) { temp = STopPopP(&s); BTWorkOut(temp); Leftmost_Inorder(temp->RPtr, &s); } } }