二叉树三种遍历方式代码实现
2017-05-22 13:31
483 查看
void first_visit(node *current)//前序遍历
{
printf("%d ",current->entry);
if (current->left != NULL) first_visit(current->left);
if (current->right != NULL) first_visit(current->right);
}
void last_visit(node *current)//后序遍历
{
if (current->left != NULL) first_visit(current->left);
if (current->right != NULL) first_visit(current->right);
printf("%d ",current->entry);
}
void middle_visit(node *current)//中序遍历
{
if (current->left != NULL) first_visit(current->left);
printf("%d ",current->entry);
if (current->right != NULL) first_visit(current->right);
}
/*
从代码来看,很好的对应了每种遍历方式的名称,前序遍历是先输出当前结点,再尝试访问左结点和右结点,就是输出语句的位置在之前,中间和之后
*/
{
printf("%d ",current->entry);
if (current->left != NULL) first_visit(current->left);
if (current->right != NULL) first_visit(current->right);
}
void last_visit(node *current)//后序遍历
{
if (current->left != NULL) first_visit(current->left);
if (current->right != NULL) first_visit(current->right);
printf("%d ",current->entry);
}
void middle_visit(node *current)//中序遍历
{
if (current->left != NULL) first_visit(current->left);
printf("%d ",current->entry);
if (current->right != NULL) first_visit(current->right);
}
/*
从代码来看,很好的对应了每种遍历方式的名称,前序遍历是先输出当前结点,再尝试访问左结点和右结点,就是输出语句的位置在之前,中间和之后
*/
相关文章推荐
- 图解二叉树的三种遍历方式及java实现代码
- 二叉树的三种遍历方式java实现
- 二叉树的三种遍历方式的递归算法C代码
- 重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现
- 二叉树的三种遍历方式的递归实现和迭代实现
- 二叉树三种遍历方式 递归与非递归实现
- java实现二叉树的三种遍历方式,并把二叉树转为双向链表,输出二叉树
- Java中创建二叉树并实现三种遍历方式
- 二叉树的三种遍历方式(递归与非递归详细实现)
- java使用递归,非递归方式实现二叉树的三种常见遍历方式
- 二叉树的常见方法及三种遍历方式 Java 实现
- 二叉树三种遍历方式非递归实现
- 重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 用非递归方式实现二叉树的前、中、后三种遍历方法
- 算法:二叉树的先序遍历、中序遍历、后序遍历(递归及非递归方式)的java代码实现
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 二叉树的三种遍历方式(递归和非递归的实现方法)
- 二叉树三种遍历方式 递归与非递归实现 总结
- 详细讲解二叉树三种遍历方式的递归与非递归实现