树的存储结构

本人双非一本计算机系小白,几个月前从化学天坑跳到计算机,希望本系列能监督我练习敲数据结构的代码(在家真的效率好低QAQ),参考了《大话数据结构》和鄙校的数据结构教材(不敢恭维)。

目前为止我还没有在大学正式上过一节计算机专业课(除了c编基础公共必修),如果有大佬翻到本文并觉得我的代码写的是一坨,提前感谢您在评论区帮我指正!!!

本次练习了树的存储结构以及二叉树的结构
 

#include<stdio.h>
#define MAX_TREE_SIZE 100

//双亲表示法
typedef int TElemType;
typedef struct PTNode //结点结构,一个存放数据,一个存放父结点的位置
{
    TElemType data;
    int parent;
}PTNode;

typedef struct //树结构
{
    PTNode nodes[MAX_TREE_SIZE];
    int r, n; //根的位置和结点数
}PTree;

/*--------------------------------------------------*/

//孩子表示法
typedef struct CTNode //孩子结点
{
    int child;
    struct CTNode *next;
} *ChildPtr;
typedef struct //表头结构
{
    TElemType data;
    ChildPtr* FirstChild;
}CTbox;
typedef struct //树结构
{
    CTbox nodes[MAX_TREE_SIZE];
    int r, n; //根的位置和结点数
}CTree;

/*--------------------------------------------------*/

//孩子兄弟表示法

typedef struct CSNode
{
    TElemType data;
    struct CSNode *firstchild, *rightsib; //定义孩子和右兄弟结点
}CSNode, *CSTree;


/*--------------------------------------------------*/

//二叉树的二叉链表
typedef struct BiTNode
{
    TElemType data;
    struct BiTNode *Lchild, *Rchild;
}BiTNode, *BiTree;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑶湖女子师专王大珩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值