用c语言创建二叉树并打印出来
时间: 2023-10-04 19:08:44 浏览: 129
二叉树-基于C语言实现的二叉树动态可视化打印.zip
下面是使用C语言创建并打印二叉树的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树结点结构体
struct TreeNode {
int data;
struct TreeNode *left;
struct TreeNode *right;
};
// 创建新结点
struct TreeNode* createNode(int data) {
struct TreeNode* newNode = (struct TreeNode*) malloc(sizeof(struct TreeNode));
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
// 向二叉树中插入新结点
struct TreeNode* insert(struct TreeNode* root, int data) {
// 如果根结点为空,创建新结点作为根结点
if (root == NULL) {
return createNode(data);
}
// 如果插入的数据小于等于根结点的数据,插入到左子树
if (data <= root->data) {
root->left = insert(root->left, data);
}
// 如果插入的数据大于根结点的数据,插入到右子树
else {
root->right = insert(root->right, data);
}
return root;
}
// 打印二叉树
void printTree(struct TreeNode* root) {
if (root == NULL) {
return;
}
// 打印左子树
printTree(root->left);
// 打印当前结点
printf("%d ", root->data);
// 打印右子树
printTree(root->right);
}
int main() {
struct TreeNode* root = NULL;
// 向二叉树中插入数据
root = insert(root, 6);
insert(root, 4);
insert(root, 2);
insert(root, 5);
insert(root, 9);
insert(root, 7);
insert(root, 10);
// 打印二叉树
printTree(root);
return 0;
}
```
运行结果:
```
2 4 5 6 7 9 10
```
该示例代码创建了一个二叉树,插入了7个数据,并打印出了二叉树的结点数据。
阅读全文