当前位置: 首页> 健康> 知识 > 网络规划与设计教程_网页设计软件免费_站长工具查询域名信息_无忧seo

网络规划与设计教程_网页设计软件免费_站长工具查询域名信息_无忧seo

时间:2025/9/27 14:01:36来源:https://blog.csdn.net/m0_73811793/article/details/146310308 浏览次数:1次
网络规划与设计教程_网页设计软件免费_站长工具查询域名信息_无忧seo

二叉树的链式存储

//二叉树的链式存储
struct ElemType{int value;
}; typedef struct BiTNode{ElemType data;struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;//定义一颗空树
BiTree root = NULL;//插入根结点
root = (BiTree)malloc(sizeof(BiTNode));
root->data={1};
root->lchild = NULL;
root->rchild = NULL;//插入新结点
BiTNode * p = (BiTNode *)malloc(sizeof(BiTNode));
p->data={2};
p->lchild = NULL;
p->rchild = NULL;
root->lchild = p;//作为根结点的左孩子 

其中,struct ElemType 是一个结构体类型,可以包含多种不同类型的数据。在实际应用中,ElemType 的定义可以根据具体需求进行扩展,包含多个字段,以存储更复杂的信息。

struct ElemType{int value;
};

示例代码:插入一个新结点

假设我们要插入一个新结点,其值为 2,姓名为 "Alice",年龄为 20,可以这样实现:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct ElemType {int value;char name[50];int age;
};typedef struct BiTNode {ElemType data;struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;int main() {// 定义一颗空树BiTree root = NULL;// 插入根结点root = (BiTree)malloc(sizeof(BiTNode));if (root == NULL) {printf("Memory allocation failed.\n");return -1;}root->data.value = 1;strcpy(root->data.name, "Root");root->data.age = 0;root->lchild = NULL;root->rchild = NULL;// 插入新结点BiTNode *p = (BiTNode *)malloc(sizeof(BiTNode));if (p == NULL) {printf("Memory allocation failed.\n");return -1;}p->data.value = 2;strcpy(p->data.name, "Alice");p->data.age = 20;p->lchild = NULL;p->rchild = NULL;root->lchild = p; // 作为根结点的左孩子// 打印根结点和左子结点的信息printf("Root: value=%d, name=%s, age=%d\n", root->data.value, root->data.name, root->data.age);printf("Left child: value=%d, name=%s, age=%d\n", p->data.value, p->data.name, p->data.age);// 释放内存free(p);free(root);return 0;
}

关键字:网络规划与设计教程_网页设计软件免费_站长工具查询域名信息_无忧seo

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: