Advertisement
Guest User

Untitled

a guest
Apr 19th, 2015
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. bool BinaryTree::printLevel(TreeNode *head, int level)
  2. {
  3. /* Wenn level 0 ausgeben werden soll */
  4. if (level == 0 && tmp==false)
  5. {
  6. cout << this->head->right->element << endl ;
  7. return true;
  8. }
  9.  
  10. /* Setze den Anker */
  11. if (head == NULL)
  12. head = this->head->right;
  13.  
  14. /* Rekursiver Aufruf um Elemente aus der Ebene zu bekommen
  15. Wenn das Level gefunden wurden ist und der Eintrag
  16. nicht gleich dem Head->Element ist, dann ausgeben*/
  17. if (level == 0 && head->element != this->head->right->element)
  18. cout << " " << head->element;
  19.  
  20. /* Benötigtes Level noch nicht erreicht,
  21. dann gehe eine Ebene tiefer
  22. wiederhole für Linken und Rechten Pfad*/
  23. else if (level + 1 > 1) /* + - 1 Problem*/
  24. {
  25. tmp = true; /* um Ebene 0 nicht auszugeben */
  26. if (head->left!=NULL)
  27. printLevel(head->left, level - 1);
  28. if (head->right != NULL)
  29. printLevel(head->right, level- 1);
  30. }
  31. return true;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement