2024年6月2日发(作者:)

建立二叉树的代码c语言

建立二叉树的代码C语言

二叉树是一种非常常见的数据结构,它可以用来存储和处理各种类型

的数据。在C语言中,我们可以使用指针来实现二叉树的建立和操作。

下面是一个简单的二叉树建立的代码示例:

#include

#include

// 定义二叉树节点结构体

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语言来建立一个简单

的二叉树,并对其进行中序遍历。希望这个示例对大家有所帮助。