建立二叉树的二叉链表c++
时间: 2023-12-06 17:45:11 浏览: 77
建立二叉树的二叉链表可以通过递归的方式实现。根据引用[2]中的代码,可以使用Create_BiTree函数来建立二叉树的二叉链表。该函数首先读取一个字符,如果是字母,则创建一个新的节点,并将该字符赋值给节点的val属性。然后继续读取下一个字符,如果是左括号,则递归调用Create_BiTree函数创建左子树,并将返回的节点赋值给当前节点的left属性。接着继续读取下一个字符,如果是右括号,则说明右子树已经创建完毕,可以返回当前节点。如果是逗号,则继续读取下一个字符,继续创建右子树。最后,返回根节点即可。
以下是一个示例代码,用于建立二叉树的二叉链表:
```cpp
#include <iostream>
#include <stdio.h>
#include <malloc.h>
#include <string>
using namespace std;
typedef struct Node{
char val;
Node *left, *right;
} Node, *BiNode;
BiNode Create_BiTree() {
char ch;
ch = getchar();
BiNode node;
node = (BiNode)malloc(sizeof(Node));
node->val = ch;
node->left = NULL;
node->right = NULL;
ch = getchar();
if (ch == '(') {
node->left = Create_BiTree();
node->right = Create_BiTree();
} else if (ch == ')') {
ch = getchar();
}
return node;
}
int main() {
Node *node;
node = (BiNode)malloc(sizeof(Node));
node = Create_BiTree();
return 0;
}
```
这段代码可以根据输入的字符串来建立二叉树的二叉链表。你可以根据需要修改代码来适应不同的输入格式。
阅读全文