idea 建立二叉树
时间: 2023-11-22 07:48:47 浏览: 39
以下是建立二叉树的基本思路和代码实现:
1.首先定义二叉树节点的结构体,包括节点存储的信息和左右子节点指针。
```c
typedef struct node {
char a;
struct node* leftchild, * rightchild;
} Bitree;
```
2.定义一个函数来创建二叉树,该函数接收一个字符数组作为参数,返回一个指向根节点的指针。
```c
Bitree* create_tree(char* str) {
Bitree* root = NULL;
int len = strlen(str);
if (len == 0) {
return NULL;
}
root = (Bitree*)malloc(sizeof(Bitree));
root->a = str[0];
root->leftchild = NULL;
root->rightchild = NULL;
Bitree* p = root;
Bitree* q = NULL;
int i = 1;
while (i < len) {
q = (Bitree*)malloc(sizeof(Bitree));
q->a = str[i];
q->leftchild = NULL;
q->rightchild = NULL;
p->leftchild = q;
i++;
if (i < len) {
q = (Bitree*)malloc(sizeof(Bitree));
q->a = str[i];
q->leftchild = NULL;
q->rightchild = NULL;
p->rightchild = q;
i++;
}
p = p->leftchild;
}
return root;
}
```
3.在主函数中调用该函数并传入一个字符数组,即可创建一棵二叉树。
```c
int main() {
char str[] = "ABDECFG";
Bitree* root = create_tree(str);
return 0;
}
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)