将二叉树结构改为typedef enum{Link,Thread}PointerTag; /* Link(0):指针,Thread(1):线索 */ typedef struct BiThrNode { TElemType data; struct BiThrNode *lchild,*rchild; /* 左右孩子指针 */ PointerTag LTag,RTag; /* 左右标志 */ }BiThrNode,*BiThrTree
时间: 2023-07-23 16:06:10 浏览: 55
好的,代码如下:
```
typedef enum {
Link,
Thread
} PointerTag; /* Link(0):指针,Thread(1):线索 */
typedef struct BiThrNode {
TElemType data;
struct BiThrNode *lchild, *rchild; /* 左右孩子指针 */
PointerTag LTag, RTag; /* 左右标志 */
} BiThrNode, *BiThrTree;
```
相关问题
//二叉树的二叉链表存储表示 typedef struct BiNode { /**************begin************/ /**************end************/ }BiTNode,*BiTree;
二叉树的二叉链表存储表示是指使用链表来表示二叉树的结构,其中每个节点包含三个部分:数据域、左孩子指针和右孩子指针。BiNode结构体中的数据域可以根据实际情况进行定义,一般来说是存储该节点的数据信息。BiTNode代表二叉树的一个节点,BiTree则代表整棵二叉树。以下是BiNode结构体的代码实现:
typedef struct BiNode
{
int data; // 数据域
struct BiNode *lchild; // 左孩子指针
struct BiNode *rchild; // 右孩子指针
}BiTNode,*BiTree;
用C语言写BiTree Create(); /*按先序输入创建一棵二叉树,返回二叉树根节点指针。*/ int OperandCount(BiTree T); /*T是二叉树树根指针,函数OperandCount返回二叉树中操作数的个数,若树为空,则返回0。题目保证所给二叉树一定是正确的表达式。*/
下面是C语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
/* 二叉树结构体 */
typedef struct BiTNode {
char data; // 节点数据
struct BiTNode *lchild; // 左孩子指针
struct BiTNode *rchild; // 右孩子指针
} BiTNode, *BiTree;
/* 创建二叉树 */
BiTree Create() {
BiTree T;
char ch;
scanf("%c", &ch);
if (ch == '#') { // 以 '#' 代表空节点
T = NULL;
} else {
T = (BiTree)malloc(sizeof(BiTNode));
T->data = ch;
T->lchild = Create();
T->rchild = Create();
}
return T;
}
/* 统计操作数个数 */
int OperandCount(BiTree T) {
if (T == NULL) { // 空树返回0
return 0;
}
if (T->lchild == NULL && T->rchild == NULL) { // 叶子节点返回1
return 1;
}
return OperandCount(T->lchild) + OperandCount(T->rchild); // 递归统计左右子树操作数个数之和
}
int main() {
BiTree T;
printf("按先序输入二叉树,以 '#' 代表空节点:");
T = Create();
printf("操作数个数:%d\n", OperandCount(T));
return 0;
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)