树结构用C语言写完整嵌套代码
时间: 2023-06-17 21:02:06 浏览: 53
以下是一个简单的树结构的嵌套代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
struct TreeNode* createNode(int val) {
struct TreeNode* node = (struct TreeNode*) malloc(sizeof(struct TreeNode));
node->val = val;
node->left = NULL;
node->right = NULL;
return node;
}
void insert(struct TreeNode* parent, int val) {
if (parent->left == NULL) {
parent->left = createNode(val);
} else if (parent->right == NULL) {
parent->right = createNode(val);
} else {
printf("Cannot insert %d as parent node already has two children\n", val);
}
}
void preOrder(struct TreeNode* node) {
if (node == NULL) {
return;
}
printf("%d ", node->val);
preOrder(node->left);
preOrder(node->right);
}
void inOrder(struct TreeNode* node) {
if (node == NULL) {
return;
}
inOrder(node->left);
printf("%d ", node->val);
inOrder(node->right);
}
void postOrder(struct TreeNode* node) {
if (node == NULL) {
return;
}
postOrder(node->left);
postOrder(node->right);
printf("%d ", node->val);
}
int main() {
struct TreeNode* root = createNode(1);
insert(root, 2);
insert(root, 3);
insert(root->left, 4);
insert(root->left, 5);
insert(root->right, 6);
insert(root->right, 7);
printf("Pre-order traversal: ");
preOrder(root);
printf("\n");
printf("In-order traversal: ");
inOrder(root);
printf("\n");
printf("Post-order traversal: ");
postOrder(root);
printf("\n");
return 0;
}
```
这个代码示例实现了一个基本的树结构,包括节点的创建、插入和三种遍历方法(前序、中序和后序遍历)。你可以根据需求修改或扩展该代码。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)