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

二叉树的实现以及三种遍历方法--代码

时间:2019-12-04 19:55:01      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:中序遍历   tno   数据类型   size   sizeof   strong   中文   creat   pos   

 1 #include<stdio.h>
 2 #include <stdlib.h>
 3 
 4 /*树的数据类型*/
 5 typedef char TElemType;
 6 /*定义二叉树的结构*/
 7 typedef struct BiTNode
 8 {
 9     TElemType data;                    //数据
10     struct BiTNode *left,*right;       //左右孩子节点
11 }BiTNode,*BiTree;
12 
13 void createBiTree(BiTree* T)
14 {
15     char ch;
16     scanf("%c",&ch);
17     if(ch == )
18     {
19         *T = NULL;
20     }
21     else
22     {
23         *T = (BiTNode*)malloc(sizeof(BiTNode));
24         if(!*T) exit(-1);
25         (*T)->data = ch;
26         createBiTree(&(*T)->left);
27         createBiTree(&(*T)->right);
28     }
29     
30 }
31 
32 void preOrder(BiTree T)
33 {
34     if(T==NULL) return;
35     printf("%c",T->data);
36     preOrder(T->left);
37     preOrder(T->right);
38 }
39 
40 void InOrder(BiTree T)
41 {
42     if(T==NULL)return ;
43     InOrder(T->left);
44     printf("%c",T->data);
45     InOrder(T->right);
46 }
47 
48 void PostOrder(BiTree T)
49 {
50     if(T==NULL)return;
51     PostOrder(T->left);
52     PostOrder(T->right);
53     printf("%c",T->data);
54 }
55 
56 int main(int argc, char const *argv[])
57 {
58     BiTree T;
59     createBiTree(&T);
60     printf("先序遍历:\n");
61     preOrder(T);
62     printf("\n中序遍历:\n");
63     InOrder(T);
64     printf("\n后序遍历:\n");
65     PostOrder(T);
66     //ABC  DE G  F   
67     return 0;
68 }

结果:

技术图片

 

 注:chcp 65001解决终端输出中文乱码问题。

 

树的代码详析在下一篇中进行。

 

                          技术图片

 

 

二叉树的实现以及三种遍历方法--代码

标签:中序遍历   tno   数据类型   size   sizeof   strong   中文   creat   pos   

原文地址:https://www.cnblogs.com/ambdyx/p/11984776.html

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