2.2 二叉树的存储结构_哔哩哔哩_bilibili
// 二叉树的顺序存储
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#define MaxSize 10
typedef struct TreeNode{
char data; //数据元素
bool isEmpty; //结点是否为空
}TreeNode;
main(){
TreeNode t[MaxSize];
t[1].data='A';
t[2].data='B';
t[3].data='C';
for(int i=1;i<=3;i++){
printf("%c ",t[i].data);
}
return 0;
}
// 二叉树的链式存储
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
//二叉树结点定义
typedef struct BiTNode{
char data; //结点数据
struct BiTNode *lchild; //左孩子指针
struct BiTNode *rchild; //右孩子指针
}BiTNode, *BiTree;
int main(){
//插入根节点
BiTree root=(BiTNode*)malloc(sizeof(BiTNode));
root->data='A';
//插入lchild
BiTree p=(BiTNode*)malloc(sizeof(BiTNode));
p->data='B';
root->lchild=p;
//插入rchild
p=(BiTNode*)malloc(sizeof(BiTNode));
p->data='C';
root->rchild=p;
printf("%c ",root->data);
printf("%c ",root->lchild->data);
printf("%c ",root->rchild->data);
return 0;
}