首页 > 编程语言 > 详细

数据结构与算法

时间:2021-02-28 00:26:21      阅读:26      评论:0      收藏:0      [点我收藏+]

技术分享图片

先序遍历

1 void preOrderTraverase(TreeNode * r) 
2 {
3     if(r) 
4     { 
5         printf("%d\t",r->_data); 
6         preOrderTraverase(r->_left); 
7         preOrderTraverase(r->_right);
8     } 
9 }                

中序遍历

1 void midOrderTraverase(TreeNode * r)
2 {
3     if(r)
4     {
5         midOrderTraverase(r->_left);
6         printf("%d\t",r->_data);
7         midOrderTraverase(r->_right);
8     }
9 }    

后序遍历

1 void postOrderTraverase(TreeNode * r)
2 {
3     if(r)
4     {
5         postOrderTraverase(r->_left);
6         postOrderTraverase(r->_right);
7         printf("%d\t",r->_data);
8     }
9 }

层序遍历(用到队列)

 1 void levelOrderTraverse(TreeNode *root)
 2 {
 3     if(root) 
 4     {
 5         Queue q;
 6         initQueue(&q);
 7         enQueue(&q,root);
 8         while(!isQueueEmpty(&q)) 
 9         {
10             root = deQueue(&q);                    //根出队
11             printf(" %d ",root->data);
12             if(root->left)enQueue(&q,root->left); //左子树入队
13             if(root->right)enQueue(&q,root->right);//右子树入队
14         }
15         printf("\n");
16     }
17 }                                

数据结构与算法

原文:https://www.cnblogs.com/shaoqibeckyabcdefg/p/14456790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!