#include"stdio.h"
#include"stdlib.h"
#define MAXNODE 1000
typedef int elemtype;
//不带头结点的二叉中序线索链表
typedef struct bitnode {
elemtype data;
struct bitnode* lchild,* rchild;
int ltag, rtag;
}bitnode,*bittree;
bitnode* createnode(elemtype data) {
bitnode* node = (bitnode*)malloc(sizeof(bitnode));
node->data = data;
node->lchild = node->rchild = NULL;
node->ltag = node->rtag = 0;
return node;
}
//初始化二叉树
void init(bittree* bt) {
*bt = NULL;
}
//放在第一个空指针处
void insert(bittree* bt, elemtype data) {
bitnode* node = createnode(data);
if (*bt == NULL) {
*bt = node;
}
else {
bittree queue[MAXNODE];
int front ,rear;
front = rear = 0;
queue[rear++] = *bt;
while (front != rear) {
bittree temp = queue[front++];
if (temp->lchild) {
queue[rear++] = temp->lchild;
}
else {
temp->lchild = node;
return;
}
if (t
数据结构(C语言)中序线索二叉树
最新推荐文章于 2024-07-23 20:38:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)