写一个算法,建立二叉树的二叉链表。用c语言写一个完整代码
时间: 2024-03-15 14:46:10 浏览: 31
以下是用 C 语言实现建立二叉树的二叉链表的完整代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 二叉树结构体
typedef struct node {
int data;
struct node *left;
struct node *right;
} Node;
// 创建新节点
Node* createNode(int data) {
Node *newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
// 建立二叉树
Node* createTree() {
Node *root = NULL;
int data;
printf("请输入节点的值(输入-1结束):");
scanf("%d", &data);
if (data == -1) {
return NULL;
} else {
root = createNode(data);
printf("请输入 %d 的左子节点:\n", data);
root->left = createTree();
printf("请输入 %d 的右子节点:\n", data);
root->right = createTree();
}
return root;
}
// 测试代码
int main() {
Node *root = createTree();
printf("二叉树建立成功!\n");
return 0;
}
```
阅读全文