帮我写一段C语言代码实现二叉树
时间: 2023-04-04 12:01:40 浏览: 60
好的,以下是一段C语言代码实现二叉树的示例:
```
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* left;
struct Node* right;
};
struct Node* createNode(int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
struct Node* insertNode(struct Node* root, int data) {
if (root == NULL) {
return createNode(data);
}
if (data < root->data) {
root->left = insertNode(root->left, data);
} else if (data > root->data) {
root->right = insertNode(root->right, data);
}
return root;
}
void inorderTraversal(struct Node* root) {
if (root != NULL) {
inorderTraversal(root->left);
printf("%d ", root->data);
inorderTraversal(root->right);
}
}
int main() {
struct Node* root = NULL;
root = insertNode(root, 50);
insertNode(root, 30);
insertNode(root, 20);
insertNode(root, 40);
insertNode(root, 70);
insertNode(root, 60);
insertNode(root, 80);
printf("Inorder traversal of the binary search tree is: ");
inorderTraversal(root);
return ;
}
```
这段代码实现了二叉树的创建、插入和中序遍历。其中,createNode函数用于创建新节点,insertNode函数用于插入节点,inorderTraversal函数用于中序遍历二叉树。在main函数中,我们创建了一个二叉树,并对其进行了插入和遍历操作。