用C++编写具体函数实现二叉树的创建,前序、中序、后序遍历等基本操作
时间: 2023-06-08 08:08:17 浏览: 97
二叉树的先序、中序、后序、分层遍历C++实现
4星 · 用户满意度95%
好的,以下是用 C 编写的二叉树基本操作的实现:
(1)二叉树的结构体定义:
```
typedef struct BinaryTree {
int data;
struct BinaryTree *left;
struct BinaryTree *right;
} BinaryTree;
```
(2)创建二叉树函数的实现:
```
BinaryTree* createBinaryTree(int data) {
BinaryTree *node = (BinaryTree*)malloc(sizeof(BinaryTree));
node->data = data;
node->left = NULL;
node->right = NULL;
return node;
}
```
(3)前序遍历函数的实现:
```
void preorderTraversal(BinaryTree *root) {
if(root == NULL) {
return;
}
printf("%d ", root->data);
preorderTraversal(root->left);
preorderTraversal(root->right);
}
```
(4)中序遍历函数的实现:
```
void inorderTraversal(BinaryTree *root) {
if(root == NULL) {
return;
}
inorderTraversal(root->left);
printf("%d ", root->data);
inorderTraversal(root->right);
}
```
(5)后序遍历函数的实现:
```
void postorderTraversal(BinaryTree *root) {
if(root == NULL) {
return;
}
postorderTraversal(root->left);
postorderTraversal(root->right);
printf("%d ", root->data);
}
```
以上就是基本的二叉树操作函数实现的例子,希望对你有所帮助。
阅读全文