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