代码生成,用C++编写二叉树的递归遍历
时间: 2023-06-08 13:06:17 浏览: 98
c++实现二叉树的4种遍历(递归和非递归)(csdn)————程序.pdf
可以参考以下的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 二叉树结构体定义
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
/* 递归中序遍历二叉树,并将结果打印到屏幕上 */
void traverse(struct TreeNode* root) {
if(root != NULL) {
traverse(root->left);
printf("%d ", root->val);
traverse(root->right);
}
}
/* 创建二叉树 */
struct TreeNode* createTree() {
int val;
scanf("%d", &val);
if(val == -1) return NULL;
struct TreeNode* node = (struct TreeNode*) malloc(sizeof(struct TreeNode));
node->val = val;
node->left = createTree();
node->right = createTree();
return node;
}
int main() {
printf("请输入二叉树的节点(-1表示空节点):\n");
struct TreeNode* root = createTree();
printf("二叉树中序遍历结果为:\n");
traverse(root);
printf("\n");
return 0;
}
```
以上代码实现了一个简单的二叉树的递归遍历代码,你可以根据具体的需求进行拓展。但是需要注意的是,这里的二叉树是简单的使用输入构造的,如果需要构建更加复杂的二叉树,可能需要自己实现相关的数据结构。
阅读全文