C/C++ 树的三中实现方式

数据结构-----C/C++实现 专栏收录该内容
9 篇文章 0 订阅
#include<iostream>
#define Maxsize 100
using namespace std;

 /*
 *①树的双亲表示法
*/
typedef char ElemType;

//树的结点定义
typedef struct TNode{
	ElemType data;
	int parent;
}TNode;

//树的定义//
typedef struct{
	TNode nodes[Maxsize];
	int n;//结点的数量//
}Tree;


/*
*②孩子表示法
*/
//孩子结点的定义
typedef struct CNode{
	int child;	        //在表中的数组的下表//
	struct CNode *next; //这个是一个结构
}CNode , *Child;

//树的所有数据表
typedef struct{
	ElemType data;
	Child firstchild; // 指向的第一个孩子的数据 //
}TNode;

//树的定义//
typedef struct{
	TNode nodes[Maxsize];
	int n;//结点的数量//
}Tree;

/*
*③树的孩子兄弟表示法:左孩子右兄弟与二叉树只是逻辑上不同,存储方式一样
*/
typedef char ElemType;

//孩子结点的定义
typedef struct CSNode{
	ElemType data;
	struct CNode *firstchild , *rightbro; //左孩子,右兄弟
}CSNode;





  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

梦里有个小宇宙

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值