二叉树的存储结构

5.2.2二叉树的存储结构

1781594240896

1781594417436

#define MaxSize 100
struct TreeNode{
	ElemType value;//结点中的数据元素 
	bool isEmpty;//结点是否为空 
}; 
TreeNode t [MaxSize]; 

1781594499123

1781594519788

1781594554685

1781594603692

1781594852757

//二叉树的结点(链式存储)
typedef struct BiTNode{
	Elemtype data;// 数据域 
	struct BitNode *lchild,*rchild;//左右孩子指针 
}BiTNode,*BitTree; 
 

1781594944133

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;//作为根节点的左孩子 
#include <stdio.h>
#include <stdlib.h>   // malloc、free 必须头文件

struct ElemType{
	int value;
}; 
typedef struct BiTNode{
	struct ElemType data;
	struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

int main()
{
	// 定义空树根节点
	BiTree root = NULL;

	// 创建根节点
	root = (BiTree)malloc(sizeof(BiTNode));
	// 正确赋值方式
	root->data.value = 1;
	root->lchild = NULL;
	root->rchild = NULL;

	// 插入左孩子结点
	BiTNode *p = (BiTNode *)malloc(sizeof(BiTNode));
	p->data.value = 2;
	p->lchild = NULL;
	p->rchild = NULL;
	root->lchild = p;

	return 0;
}

1781595502492

//二叉树的结点(链式存储) 
typedef struct BiTNode{
	ElemType data;// 数据与 
	struct BitNode *lchile,*rchild;//左右孩子指针 
	struct BitNode *parent;//父节点指针 
}BiTNode,*BiTree; 

1781595717965

1781595727014

posted @ 2026-06-16 15:44  轻狂书生han  阅读(4)  评论(0)    收藏  举报