二叉树的建立


在这里将二叉树的建立和遍历分开讲解,首先是二叉树的建立;

储存基本单位与链表结构相同;
基本单位中储存当前节点的数据和当前节点的左右节点的地址;
具体使用到结构体

//结点声明,数据域、左指针、右指针
truct BiTNode
{
int data;
struct BiTNode *Left,*Right;
}

在建立过程中使用的是递归的方法:
先左结点再右结点;

T->Left = CreateBiTree();
T->Right = CreateBiTree();

完整代码如下:

#include <stdio.h>
#include <stdlib.h>
//节点声明,数据域、左指针、右指针
typedef struct BiTNode
{
int data;
struct BiTNode *Left,*Right;
}BiTNode,*BiTree;
int main()
{
BiTree T;
int d;
T = CreateBiTree();//建立
PreOrderTraverse(T);//
return 0;
}
//先序建立二叉树
BiTree CreateBiTree()
{
int a;
BiTree T;
scanf("%d",&a);
if(a==0)
T=NULL;
else
{
T = (BiTree)malloc(sizeof(BiTNode));
T->data = a;
T->Left = CreateBiTree();
T->Right = CreateBiTree();
}
return T;//返回根节点
}

仅代表个人观点,欢迎交流探讨,勿喷~~~

关注微信公众号

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



二叉树的建立 二叉树的建立 二叉树的建立 二叉树的建立 二叉树的建立 二叉树的建立 二叉树的建立 按层次建立二叉树 二叉树的建立的问题 二叉树的遍历与建立
 
粤ICP备14056181号  © 2014-2020 ITdaan.com