【考研408数据结构】数据类型(二)

本文介绍了数据结构中链表和二叉树结点的构造,包括链表结点的数据域和指针域,以及二叉树结点的额外指针域。讲解了如何定义结构体并动态申请结点内存空间,同时提到了typedef和#define在定义数据类型别名中的应用。在函数使用中,强调了参数传递时是否改变原值的问题。
摘要由CSDN通过智能技术生成
结点的构造

要构造一种结点,必须先定义结点的数据类型。下面介绍链表和二叉树结点结构型的定义方法。

链表结点的定义

链表的结点有两个域:一个是数据域,用来存储数据;一个是指针域,用来指向下一个结点。如图:

image20191225204205047.png

链表结点的结构型定义如下:

typedef struct Node
{
    int data;//默认int型,其它类型也是可以的
    struct Node *next; //指向下一个Node型变量的指针
}Node;

上述结构体的名字为Node,此结构体由两部分组成:数据域int型和指针域Node类型。凡是结构体(假设为a)内部有这样的指针型(假设为b),b是用来存放和a类型相同的结构体变量地址的指针型,则在定义a的typedef struct语句之后都要加上a这个结构体的名字(也就是Node)

二叉树结点定义

二叉树结点结构就是在链表结构的基础上,再加上一个指向自己同类型变量的指针域。

typedef struct BTNode
{
    int data;//默认int型,其它类型也是可以的
    struc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值