以树的孩子链表为存储结构,求结点为i的双亲

xueli

任务前提:

  1. 树的存储结构为孩子链表
  2. 返回值为树的双亲结点CTBox
  3. 考虑当i>数的结点数量的情况以及树为空的情况

树的孩子链表

#define maxsize 50
typedef struct CTnode {
	int child;
	struct CTnode* next;
}*ChildPtr;//孩子结点
typedef struct {
	int data;
	ChildPtr firstchild;
}CTbox;//双亲结点
typedef struct {
	CTbox node[maxsize];
	int n, r;//代表结点数和根节点的位置;
}CTree;//树

辅助测试函数

#define OVERFLOW -2
#define TRUE 1
#define FALSE 0
typedef int TElemType;
typedef int Status;
#define OK 1
Status CreateTree(CTree& T)
{
	//构建一棵树
	printf("请输入结点数及根结点的位置下标:\n");
	scanf_s("%d %d", &T.n, &T.r);
	//printf("请输入各节点的值\n");
	for (int i = 0; i < T.n; ++i)
	{
		scanf_s("%d", &T.node[i].data);
		T.node[i].firstchild = NULL;
	}
	//printf("创建每个结点的孩子结点...\n");
	//system("pause");
	for (int i = 0; i < T.n; ++i)
	{
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值