c二叉树的后序遍历(递归)
作者:野牛程序员:2024-01-03 21:51:08C语言阅读 2644
二叉树的后序遍历可以通过递归实现。以下是一个示例代码:
#include <stdio.h> #include <stdlib.h> // 定义二叉树节点 struct TreeNode { int data; struct TreeNode* left; struct TreeNode* right; }; // 后序遍历函数 void postorderTraversal(struct TreeNode* root) { if (root != NULL) { // 先递归遍历左子树 postorderTraversal(root->left); // 再递归遍历右子树 postorderTraversal(root->right); // 最后访问当前节点 printf("%d ", root->data); } } // 创建新节点的函数 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; } int main() { // 创建一个示例二叉树 struct TreeNode* root = createNode(1); root->left = createNode(2); root->right = createNode(3); root->left->left = createNode(4); root->left->right = createNode(5); // 执行后序遍历 postorderTraversal(root); return 0; }
请注意,这只是一个简单的示例,可以根据实际情况修改节点的数据和结构。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c二叉树的后序遍历(非递归)
- 下一篇:c语言二叉树的中序遍历(非递归)