编程日志5.5

树的结构代码

#include<iostream>
using namespace std;

//由于树的每个结点可能有一些孩子结点,这些孩子结点的数量不确定,所以可以用一个链表来把所有的孩子结点给串起来

//链表结点定义
//这段代码定义了一个结构体ListNode,用于表示链表中的一个结点。这个结构体包含两个成员变量,data和next
template<typename T>
struct ListNode {
    T data;        //表示结点的存储类型为T,可以是任何类型,根据实际需求进行定义
    ListNode* next;        //表示指向下一个结点的指针
    ListNode(T d):data(d),next(NULL){}//构造函数ListNode(T d),它接受一个类型为T的参数d,并用于初始化结点的数据成员data
};

//树的结点定义
//这段代码定义了一个模板结构体TreeNode,用于表示树节点。结构体包含两个成员变量:data和*childrenHead
template<typename T>
struct TreeNode {
    T data;       //表示结点的存储类型为T,可以是任何类型(数据域)
//代表一个链表头,这个链表负责把当前这个树结点的所有孩子结点给串起来。而这些孩子结点的类型就是TreeNode<T>*(指针类型)
    ListNode<TreeNode<T>*>* childrenHead;
    TreeNode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值