数据结构实验之二叉树的建立与遍历
来源:互联网 发布:unity3d项目实战教程 编辑:程序博客网 时间:2024/06/05 22:34
题目链接
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>typedef struct node{ int data; struct node *l; struct node *r;}Tree;Tree *p;int count = 0;Tree *creat(Tree *p){ char c; if((c = getchar()) == ',') p = NULL; else { p = (Tree*)malloc(sizeof(Tree)); p->data = c; p->l = creat(p->l); p->r = creat(p->r); } return p;}void pretravel(Tree *p){ if(p != NULL) { printf("%c",p->data); pretravel(p->l); pretravel(p->r); }}void intravel(Tree *p){ if(p != NULL) { intravel(p->l); printf("%c",p->data); intravel(p->r); }}void lasttravel(Tree *p){ if(p != NULL) { lasttravel(p->l); lasttravel(p->r); printf("%c",p->data); }}void leaves(Tree *p){ if(p!=NULL) { if(p->l==NULL&&p->r==NULL) { count++; } leaves(p->l); leaves(p->r); }}int treedeep(Tree *p){ int ld,rd; if(!p) return 0; else { ld = treedeep(p->l); rd = treedeep(p->r); if(ld>rd) return ld+1; else return rd+1; }}int main(){ int n; p = creat(p); intravel(p); printf("\n"); lasttravel(p); printf("\n"); leaves(p); printf("%d\n",count); n = treedeep(p); printf("%d\n",n); return 0;}
0 0
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- sdutoj2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历 SDUT
- QVTKWidget VTK 动态实时显示点移动
- Maven多模块项目构建
- JAVA中的线程池
- cordova打包web
- 海量数据处理:十道面试题与十个海量数据处理方法总结
- 数据结构实验之二叉树的建立与遍历
- 模板设计模式
- VS2013学习笔记之 如何在VS2013中学习C/C++编程
- ^^……^^ 研究研究
- maven install时报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
- linux下分析Java程序内存汇总
- 手机内置U盾可行性分析
- canvas中圆的角度和弧度
- HDU1024——Max Sum Plus Plus(dp)