之前有篇文章概要的叙述了一下关于二叉树的创建,参考博文二叉树的c语言创建但是很不全面,这篇文章就让我们来好好探讨一下关于二叉树的创建吧~
首先,我们要做一些前期准备,有关于本课二叉树的结点信息和如何购买一个结点
结点信息
typedef char ElemType;
#define END '#'
typedef struct BtNode
{
struct BtNode* leftchild;
struct BtNode* rightchild;
ElemType data;
}BtNode, *BinaryTree;
新建一个结点
struct BtNode* Buynode()
{
struct BtNode* s = (struct BtNode*)malloc(sizeof(struct BtNode));
if (NULL == s) exit(1);
memset(s, 0, sizeof(struct BtNode));
return s;
}
首先关于二叉树的创建,我们知道最简单的递归方法
方式一:
struct BtNode *CreaetTree1()
{
struct BtNode* s = NULL;
ElemType item;
cin >> item;
if (item != END)
{
s = Buynode();
s->data = item;
s->leftchild = CreaetTree1();