예제 #1
0
파일: c402.c 프로젝트: pavelfryz/fit
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);
  }
}
예제 #2
0
파일: c402.c 프로젝트: klimko/IAL
/**
 * 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);
    }
  }
}