c语言输出一个二叉树
时间: 2024-11-25 15:19:27 浏览: 6
使用C语言构建基本的二叉树数据结构
5星 · 资源好评率100%
在C语言中,输出一个二叉树通常需要递归的方式来遍历树结构。这里有几种常见的遍历方法,如前序遍历(根-左-右)、中序遍历(左-根-右)和后序遍历(左-右-根)。这里以前序遍历为例给出一个简单的代码示例:
```c
#include <stdio.h>
// 定义二叉树节点结构体
typedef struct TreeNode {
int val; // 节点值
struct TreeNode* left; // 左子树指针
struct TreeNode* right; // 右子树指针
} TreeNode;
// 前序遍历函数
void printPreorder(TreeNode* root) {
if (root != NULL) {
printf("%d ", root->val); // 输出当前节点值
printPreorder(root->left); // 递归遍历左子树
printPreorder(root->right); // 递归遍历右子树
}
}
// 创建一个新节点并插入到二叉树中
TreeNode* createNode(int value) {
TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode));
newNode->val = value;
newNode->left = newNode->right = NULL;
return newNode;
}
int main() {
// 例如创建一个简单二叉树
TreeNode* root = createNode(1);
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
printf("前序遍历结果:\n");
printPreorder(root);
return 0;
}
```
在这个例子中,我们首先创建了一个简单的二叉树,然后通过`printPreorder`函数按照前序顺序打印出每个节点的值。
阅读全文