二叉树创建、三种遍历、叶子节点数
来源:互联网 发布:linux开机启动应用脚本 编辑:程序博客网 时间:2024/04/29 09:57
做了二叉树的作业,感觉就是:觉得麻烦就用递归……还有就是打#也是也要技术的……
一下程序在VC6.0环境中顺利运行
#include <stdio.h>#include<stdlib.h>typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;BiTree Create(BiTree T){ char ch; ch=getchar(); if (ch=='#') { T=NULL; } else { if(!(T=(BiTree)malloc(sizeof(BiTNode)))) printf("ERROR!\n"); T->data=ch; T->lchild= Create(T->lchild); T->rchild= Create(T->rchild); } return T;}void InOrderTraverseX(BiTree T)//先序遍历{ if (T) { if (T->data!='#') { printf("%c",T->data); } InOrderTraverseX(T->lchild); InOrderTraverseX(T->rchild); }}void InOrderTraverseZ(BiTree T)//中序遍历{ if (T) { InOrderTraverseZ(T->lchild); if (T->data!='#') { printf("%c",T->data); } InOrderTraverseZ(T->rchild); }}void InOrderTraverseH(BiTree T)//后序遍历{ if (T) { InOrderTraverseH(T->lchild); InOrderTraverseH(T->rchild); if (T->data!='#') { printf("%c",T->data); } }}int sumleaf(BiTree T)//叶子节点个数{ int sum=0,m=0,n=0; if(T) { if(!T->lchild && !T->rchild) sum++; m=sumleaf(T->lchild); sum+=m; n=sumleaf(T->rchild); sum+=n; } return sum;}int main() { BiTree l; int sum=0; l=Create(l); InOrderTraverseX(l); printf("\n"); InOrderTraverseZ(l); printf("\n"); InOrderTraverseH(l); printf("\n"); sum=sumleaf(l); printf("sum=%d\n",sum); return 0;}
拜了个拜~
0 0
- 二叉树创建、三种遍历、叶子节点数
- 二叉树的创建、遍历、深度、叶子节点数
- 二叉树的字符串创建和遍历,求深度,叶子节点数
- [c++ 二叉树创建与遍历] 数据结构实验之二叉树三:统计叶子数
- 二叉树的创建、遍历、深度、叶子节点个数
- C语言二叉树创建、遍历、深度、叶子节点
- 二叉树简单实现(创建、遍历、叶子数等)
- 二叉树简单实现(创建、遍历、叶子数等)
- 二叉树的创建,遍历,求高度,算出节点数,算出叶子节点数,左右子树的交换,二叉树的销毁。
- 递归遍历 二叉树 求高度 和 节点数 和 叶子节点数
- Java二叉树的递归,非递归遍历,高度,节点数,叶子节点数
- Java二叉树的递归,非递归遍历,高度,节点数,叶子节点数
- 求二叉树非叶子节点数
- 创建二叉树求叶子节点个数
- 【数据结构】二叉树的实现(如:默认成员函数、(叶子)节点数、深度、四种遍历)
- 计算二叉树的高度、节点数、叶子节点数
- 数据结构——二叉树遍历、深度、叶子节点数计算
- 二叉树的操作:创建、遍历、求树的深度、叶子结点数
- 基于高度差的地形LOD与平截头体剪裁
- rp++ find ROP sequences
- 第24讲:Scala中SAM转换实战详解
- js函数库大全
- 思考2015.12.20
- 二叉树创建、三种遍历、叶子节点数
- 再次回来
- Maven 3.3 JDK1.7
- 设计模式(十六)---观察者模式
- ListView的OnScrollListener接口
- Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现
- Python + Mongodb数据存储
- 顺序表的基本操作
- (二)我的Makefile学习冲动&&编译过程概述