二叉树的创建。

崇尚简约与原始的思维路线:

昨晚保存到Codehelp里的代码,现在粘贴过来,加深对递归的理解。源于此,省去了很多基本操作。

模版代码: 

//还原思维的本质,抛弃条条框框的限制,2013年12月5日 23:52:41,夜深了,睡(=-ω-)zzZZ
# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>

typedef int Status;
typedef char TElemType;

typedef struct BiTNode
{
	TElemType data;
	struct BiTNode * lchild;
	struct BiTNode * rchild;
}BiTNode, * pBiTree;

void InitBiTree(pBiTree * T);
void CreateBiTree(pBiTree * T);

int main(void)
{
	pBiTree T;

	InitBiTree(&T);
	CreateBiTree(&T);

	return 0;
}

void InitBiTree(pBiTree * T)
{
	*T = NULL;
	return ;
}

void CreateBiTree(pBiTree * T)
{
	char ch;
	scanf("%c",&ch);//前序输入以下ABDH#K###E##CFI###G#J## 考虑是否可以后序输入
	//getchar();
	if (ch == '#')
		*T = NULL;
	else 
	{
		*T = (pBiTree)malloc(sizeof(BiTNode));
		(*T)->data = ch;
		CreateBiTree(&(*T)->lchild);//设置断点
		CreateBiTree(&(*T)->rchild);//设置断点
	}//设置断点,同以上三个断点的作用是为了清晰明白的了解递归的过程,通过调试程序而不是调用遍历函数,观察变量ch的值,加深对算法的认识.
	return ;
}</span></span>


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值