用vs2022C语言创建二叉树并输出
时间: 2023-07-14 16:11:56 浏览: 109
2022C语言基础.zip
以下是用 C 语言在 VS 2022 中创建二叉树并输出的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node* left;
struct node* right;
} Node;
Node* createNode(int data)
{
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->data = data;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
Node* insert(Node* root, int data)
{
if (root == NULL)
return createNode(data);
if (data < root->data)
root->left = insert(root->left, data);
else if (data > root->data)
root->right = insert(root->right, data);
return root;
}
void inorderTraversal(Node* root)
{
if (root != NULL)
{
inorderTraversal(root->left);
printf("%d ", root->data);
inorderTraversal(root->right);
}
}
int main()
{
Node* root = NULL;
root = insert(root, 10);
insert(root, 20);
insert(root, 30);
insert(root, 40);
insert(root, 50);
printf("Inorder traversal of binary tree: ");
inorderTraversal(root);
return 0;
}
```
在这个示例中,我们定义了一个 `Node` 结构体来表示二叉树的节点。`createNode` 函数用于创建一个新的节点,并将其左右子节点初始化为空。`insert` 函数用于将新的节点插入到二叉树中。`inorderTraversal` 函数用于按照中序遍历的顺序输出二叉树中所有节点的值。
在 `main` 函数中,我们首先创建了一个空的二叉树 `root`,然后通过调用 `insert` 函数将一些节点插入到二叉树中。最后,我们调用 `inorderTraversal` 函数按照中序遍历的顺序输出二叉树中所有节点的值。
阅读全文