随笔 - 223  文章 - 0  评论 - 78  阅读 - 68万

数据结构之二叉树(二)

 输出二叉树中所有从根结点到叶子结点的路径

 

复制代码
 1 #include <iostream>  
 2 #include <vector>  
 3 using namespace std;  
 4 
 5 struct BiTNode  
 6 {  
 7     char m_value;  
 8     BiTNode *m_left;  
 9     BiTNode *m_right;  
10 };  
11 
12 //先序创建二叉树  
13 void CreatBiTree(BiTNode *&root)  
14 {     
15     char nValue = 0;  
16     cin >> nValue;  
17     if ('#' == nValue)  
18     {  
19         return;  
20     }  
21     else  
22     {  
23         root = new BiTNode();  
24         root->m_value = nValue;  
25         CreatBiTree(root->m_left);  
26         CreatBiTree(root->m_right);  
27     }     
28 }  
29 
30 //输出二叉树中所有从根结点到叶子结点的路径(递归)  
31 void FindAllPath(BiTNode *pRoot, vector<char> path)  
32 {  
33     if (pRoot != NULL)  
34     {  
35         path.push_back(pRoot->m_value);  
36         if (pRoot->m_left == NULL && pRoot->m_right == NULL)  
37         {  
38             for (vector<char>::iterator iter=path.begin(); iter!=path.end(); iter++)  
39             {  
40                 cout << *iter << " ";  
41             }  
42             cout << endl;  
43             return;  
44         }  
45         else  
46         {  
47             FindAllPath(pRoot->m_left, path);  
48             FindAllPath(pRoot->m_right, path);  
49         }  
50     }  
51 }  
52 
53 int main()  
54 {  
55     BiTNode *pRoot = NULL;  
56     vector<char> path;  
57     CreatBiTree(pRoot);  
58     cout << "二叉树中从根到叶子结点的所有路径如下:" << endl;  
59     FindAllPath(pRoot, path);  
60     system("pause");  
61     return 0;  
62 }
复制代码

 

posted on   Arthurian  阅读(327)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示