概述
二叉树的遍历
二叉树有存在四种遍历方式:先序遍历,中序遍历,后序遍历,层次遍历(最后讲解)。
我们将二叉树的节点以及左右孩子分别记为V 、 L 、 R
由上图所示,前三中遍历方式是和访问节点的次序决定的。
实现代码如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct node{
int data;
struct node* left;
struct node* right;
}Node;
//先序遍历
//根->左->右
void preorder(Node *node)
{
if(node != NULL)
{
printf("%d ",node->data);
preorder(node -> left);
preorder(node -> right);
}
}
// 中序遍历
// 左->根->右
void inorder(Node* node)
{
if (node != NULL){
inorder(node -> left);
printf("%d ", node->data);
inorder(node -> right);
}
}
// 后序遍历
// 左->右->根
void postorder(Node* node)
{
if (node != NULL){
inorder(node -> left);
inorder(node -> right);
printf("%d ", node->data);
}
}
int main()
{
Node n1;
Node n2;
Node n3;
Node n4;
n1.data = 5;
n2.data = 6;
n3.data = 7;
n4.data = 8;
n1.left = &n2;
n1.right = &n3;
n2.left = &n4;
n2.right = NULL;
n3.left = NULL;
n3.right = NULL;
n4.right = NULL;
n4.left = NULL;
printf("先序遍历的结果为:");
preorder(&n1);
putchar('n');
printf("中序遍历的结果为:");
inorder(&n1);
putchar('n');
printf("后序遍历的结果为:");
postorder(&n1);
putchar('n');
return 0;
}
最后
以上就是明理曲奇为你收集整理的二叉树的遍历(c语言实现)二叉树的遍历的全部内容,希望文章能够帮你解决二叉树的遍历(c语言实现)二叉树的遍历所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复