C语言 中序遍历建立二叉树
时间: 2023-12-05 11:41:40 浏览: 29
下面是C语言中序遍历建立二叉树的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
struct TreeNode* buildTree(int* inorder, int inorderSize) {
if (inorderSize == 0) {
return NULL;
}
struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode)); root->val = inorder[inorderSize / 2];
root->left = buildTree(inorder, inorderSize / 2);
root->right = buildTree(inorder + inorderSize / 2 + 1, inorderSize - inorderSize / 2 - 1);
return root;
}
int main() {
int inorder[] = {1, 2, 3, 4, 5, 6, 7};
int inorderSize = sizeof(inorder) / sizeof(inorder[0]);
struct TreeNode* root = buildTree(inorder, inorderSize);
return 0;
}
```