首页 > 其他分享 >二叉树的三种遍历

二叉树的三种遍历

时间:2022-11-18 16:40:22浏览次数:52  
标签:node 遍历 return struct rs 三种 二叉树 printf ls


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char a[55];
int i;
struct node
{
int data;
struct node *ls,*rs;
};
struct node *cr()
{
struct node *r;
char c;
c=a[i++];
if(c==',')
return NULL;
else
{
r=(struct node*)malloc(sizeof(struct node));
r->data=c;
r->ls=cr();
r->rs=cr();
}
return r;
};//建树
void p(struct node *r)
{
if(r==NULL)
return ;
else
{
printf("%c",r->data);
p(r->ls);
p(r->rs);
}
}//前
void f(struct node *r)
{
if(r==NULL)
return ;
else
{
f(r->ls);
printf("%c",r->data);
f(r->rs);
}
}//中
void q(struct node *r)
{
if(r==NULL)
return ;
else
{
q(r->ls);
q(r->rs);
printf("%c",r->data);
}
}//后
int main()
{
int k;
struct node *r;
while(scanf("%s",a)!=EOF)
{
i=0;
r=(struct node *)malloc(sizeof(struct node));
r=cr();
p(r);
printf("\n");
f(r);
printf("\n");
q(r);
printf("\n");
}
return 0;
}

 

标签:node,遍历,return,struct,rs,三种,二叉树,printf,ls
From: https://blog.51cto.com/u_15879559/5868804

相关文章

  • 创建线程的三种方式,第一种继承Thread类
    【1】在学习多线程一章之前,以前的代码是单线程的吗?不是,以前也是有三个县城同时执行的。 【2】现在自己想制造多线程---》创建线程??先有线程类---》再有线程对象  ......
  • 236. 二叉树的最近公共祖先 ----- 图解递归,排除左/右子树
    给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q......
  • 二叉树可视化 - 哈夫曼树
    哈夫曼树可视化importmatplotlib.pyplotaspltclassTree:def__init__(self,weight=None,left=None,right=None):self.weight=weights......
  • 57:for循环结构_遍历各种可迭代对象_range对象
    ###for循环和可迭代对象遍历for循环通常用于可迭代对象的遍历。for循环的语法格式如下:for变量in可迭代对象:  循环体语句【操作】遍历一个元组或列表forxin(2......
  • 114. 二叉树展开为链表 -----
    给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链......
  • 十六、二叉树(二叉链表)遍历算法
    一、二叉树的遍历遍历二叉树(Traversingbinarytree)是指按某条搜索路径巡访树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。先序遍历(根左右)中序遍历......
  • 【树】之二叉树(C语言)(含图解)
    树&二叉树​​树​​​​树的概念及结构​​​​树的概念​​​​树的要求​​​​树的表示​​​​现实应用​​​​二叉树​​​​概念​​​​特殊的二叉树​​​​注意......
  • NowCoder刷题(1)【树】二叉树的遍历(含图解)
    二叉树的遍历(IO型)二叉树遍历_牛客题霸_牛客网(nowcoder.com)题目描述如图所示的这棵树前序输出结果为A-B-D-#-#-E-#-#-C-#-#还原过程示例1示例2——前序遍历还原代码实现......
  • 关于二叉树,你应该了解这些。(二叉树的理论基础)
    推荐视频——关于二叉树,你该了解这些!|二叉树理论基础一网打尽,二叉树的种类、二叉树的存储方式、二叉树节点定义、二叉树的遍历顺序_哔哩哔哩(゜-゜)つロ干杯~-bilibili我......
  • 全排列(深度优先遍历)
    一.代码#include<stdio.h>#include<malloc.h>intn;int*a;int*used;int*path;voidinit(){ printf("请输入n:"); scanf("%d",&n); a=(int*)malloc(sizeof......