建立二叉树的代码c语言
建立二叉树的代码C语言
二叉树是一种非常常见的数据结构,它可以用来存储和处理各种类型的数据。在C语言中,我们可以使用指针来实现二叉树的建立和操作。下面是一个简单的二叉树建立的代码示例:
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树节点结构体
二叉树定义typedef struct TreeNode {
int data; // 节点数据
struct TreeNode *left; // 左子树指针
struct TreeNode *right; // 右子树指针
} TreeNode;
// 创建新节点
TreeNode* createNode(int data) {
TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode));
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
// 插入节点
TreeNode* insertNode(TreeNode* root, int data) {
if (root == NULL) {
return createNode(data);
}
if (data < root->data) {
root->left = insertNode(root->left, data);
} else {
root->right = insertNode(root->right, data);
}
return root;
}
// 中序遍历
void inorderTraversal(TreeNode* root) {
if (root == NULL) {
return;
}
inorderTraversal(root->left);
printf("%d ", root->data);
inorderTraversal(root->right);
}
int main() {
// 创建根节点
TreeNode* root = createNode(5);
// 插入节点
insertNode(root, 3);
insertNode(root, 7);
insertNode(root, 1);
insertNode(root, 9);
// 中序遍历
inorderTraversal(root);
return 0;
}
在这个示例中,我们首先定义了一个二叉树节点结构体,包含节点数据和左右子树指针。然后我们定义了一个创建新节点的函数createNode,用于创建新的二叉树节点。接着我们定义
了一个插入节点的函数insertNode,用于将新节点插入到二叉树中。最后我们定义了一个中序遍历函数inorderTraversal,用于按照中序遍历的顺序输出二叉树中的节点数据。
在主函数中,我们首先创建了根节点,然后插入了一些新节点,最后按照中序遍历的顺序输出了二叉树中的节点数据。
总结
二叉树是一种非常常见的数据结构,它可以用来存储和处理各种类型的数据。在C语言中,我们可以使用指针来实现二叉树的建立和操作。通过上面的代码示例,我们可以看到如何使用C语言来建立一个简单的二叉树,并对其进行中序遍历。希望这个示例对大家有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论