c语言打印一个正二叉树
时间: 2024-11-17 20:28:11 浏览: 39
C语言打印二叉树
3星 · 编辑精心推荐
在C语言中,打印一个正二叉树通常采用递归的方式。这里提供一个简单的示例来展示如何遍历并打印一个二叉树的前序(根节点 -> 左子树 -> 右子树)或中序(左子树 -> 根节点 -> 右子树)序列:
```c
// 定义二叉树节点结构体
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); // 递归右子树
}
}
// 中序遍历(左 -> 根 -> 右)
void printInorder(TreeNode* root) {
if (root != NULL) {
printInorder(root->left); // 递归左子树
printf("%d ", root->val); // 打印当前节点值
printInorder(root->right); // 递归右子树
}
}
```
要打印正二叉树,你需要先构建一个`TreeNode`类型的数组或链表,并设置它们之间的父子关系。然后调用上述函数之一,传入树的根节点。
阅读全文