二叉树的创建(一二级指针,无参)

本文介绍了使用一级和二级指针在无参情况下创建二叉树的方法,包括指针定义、函数定义,以及通过递归方式实现的先序构造二叉树的三种方式:无参构造、二级指针构造和一级指针构造,并对比了它们之间的区别。
摘要由CSDN通过智能技术生成

二叉树的创建(一二级指针,无参)

最近在学习写二叉树和链表。对二级指针和一级指针的思考和理解,给大家提供一些参考,新手一枚,有问题请指正。。

指针定义

*通俗点来说,指针就是地址,地址就是指针。指针可以理解为一种数据类型和其他数据类型,如int、float、一样,是存放数据的一种类型。只不过存放的是内存中的地址罢了。例如:int i ,这个变量,内存中给它开了一个房间,房间的编号为110(注意内存中不是这样的地址,方便理解)。这个编号就是它在内存中的地址。你可以向这个房间里放数字,而int w,这个指针则专门存放地址(编号)的。其他的也是如此。
如果知道了一级指针,就不难理解二级指针。如果说指针存放变量的地址,那么,二级指针就存放一级指针的地址。也就是,地址的地址。

函数定义

函数我的理解是将一部分要实现的内容封装在一个空间里,以后你要用时,可以直接拿来用,而不用在重新写了。但函数有其自身的一些特点,函数在被调用时,内存为其开辟一块空间,在调用完后,空间就被清除了。所以这也就导致了在函数无法对变量的值直接修改,需要对其内存中地址所存的值进行修改。另外在给函数传参时,也要注意,有两种不同情况:
第一种:传参为一种变量的形式,这种情况下,相当于将实参copy了一下,形参相当于实参的副本,但函数运行结束后,形参也消失了。并不能改变实参的值,可以参考两个数交换的函数例子。
第二种:传指针或地址的方式,这种方式形参接收一个地址,形参也指向了这个地址所代表的内存。函数运行结束后,形参指向消失。

一级二级指针的实例应用(二叉树的建立)

二叉树的建立有很多种方法,但其本质来说都差不太多,无非是通过一定的算法来进行构造。
我们来看一下先序构造(采用递归)的几种方法:
首先是结构体:

typedef struct BTNode
{
	char data[25];  //数据域s
	  BTNode * pLchild;// 构造左孩子
	  BTNode * pRchild;//  构造右孩子

}*Tree;

1.无参构造

BTNode * CreatBTree()
{
   
	int i;
	char date[10]={
   0};
	BTNode * d;//结点
	printf("输入数据\n");
    scanf("%s",date);
	i 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值