码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树链式存储中的四种遍历方法

时间:2019-08-08 21:07:55      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:访问   nbsp   ring   atq   返回   queue   链式   nts   pos   

  1. void InorderTraversal( BinTree BT )
  2. {
  3.     if( BT ) {
  4.         InorderTraversal( BT->Left );
  5.         /* 此处假设对BT结点的访问就是打印数据 */
  6.         printf("%d ", BT->Data); /* 假设数据为整型 */
  7.         InorderTraversal( BT->Right );
  8.     }
  9. }
  10.  
  11. void PreorderTraversal( BinTree BT )
  12. {
  13.     if( BT ) {
  14.         printf("%d ", BT->Data );
  15.         PreorderTraversal( BT->Left );
  16.         PreorderTraversal( BT->Right );
  17.     }
  18. }
  19.  
  20. void PostorderTraversal( BinTree BT )
  21. {
  22.     if( BT ) {
  23.         PostorderTraversal( BT->Left );
  24.         PostorderTraversal( BT->Right );
  25.         printf("%d ", BT->Data);
  26.     }
  27. }
  28.  
  29. void LevelorderTraversal ( BinTree BT )
  30.     Queue Q; 
  31.     BinTree T;
  32.  
  33.     if ( !BT ) return/* 若是空树则直接返回 */
  34.      
  35.     Q = CreatQueue(); /* 创建空队列Q */
  36.     AddQ( Q, BT );
  37.     while ( !IsEmpty(Q) ) {
  38.         T = DeleteQ( Q );
  39.         printf("%d ", T->Data); /* 访问取出队列的结点 */
  40.         if ( T->Left )   AddQ( Q, T->Left );
  41.         if ( T->Right )  AddQ( Q, T->Right );
  42.     }
  43. }

二叉树链式存储中的四种遍历方法

标签:访问   nbsp   ring   atq   返回   queue   链式   nts   pos   

原文地址:https://www.cnblogs.com/lzdxh027/p/11323534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!