C语言完成输出中序序列的遍历算法
时间: 2024-01-07 15:05:26 浏览: 80
c 后序遍历算法思想
5星 · 资源好评率100%
可以使用二叉树的中序遍历算法来完成输出中序序列的遍历。具体实现过程如下:
1. 定义一个结构体来表示二叉树的节点,其中包含一个值域和指向左右孩子节点的指针。
2. 首先创建一个二叉树,并将其赋值给一个根节点指针。可以使用以下代码创建一个二叉树:
```
/*
* 创建一个简单的二叉树
* 1
* / \
* 2 3
* / \
* 4 5
*/
// 定义二叉树节点的结构体
struct Node {
int val;
Node *left, *right;
};
// 创建根节点
Node *root = new Node{1, NULL, NULL};
// 创建二叉树
root->left = new Node{2, NULL, NULL};
root->right = new Node{3, NULL, NULL};
root->left->left = new Node{4, NULL, NULL};
root->left->right = new Node{5, NULL, NULL};
```
3. 实现中序遍历算法,并在遍历过程中输出节点的值。中序遍历算法的思路是先遍历左子树,然后访问根节点,最后遍历右子树。具体实现如下:
```
// 中序遍历算法
void inorderTraversal(Node *root) {
if (root == NULL) {
return;
}
inorderTraversal(root->left);
cout << root->val << " ";
inorderTraversal(root->right);
}
// 输出中序序列
inorderTraversal(root);
```
通过上述代码,可以输出该二叉树的中序序列为:4 2 5 1 3。
阅读全文