数据结构实验之二叉树的建立与遍历
来源:互联网 发布:vscode 代码提示 编辑:程序博客网 时间:2024/06/05 05:36
#include<stdio.h>#include<string.h>#include<stdlib.h>char a[100];int i;int count;struct node{ int data; struct node *lchild; struct node *rchild;};struct node *creat(){ struct node *root; char c; c=a[i++]; if(c==',') return NULL; else { root=(struct node *)malloc(sizeof(struct node)); root->data=c; root->lchild=creat(); root->rchild=creat(); } return root;}void zhong(struct node *root){ if(root) { zhong(root->lchild); printf("%c",root->data); zhong(root->rchild); }}void hou(struct node *root){ if(root) { hou(root->lchild); hou(root->rchild); printf("%c",root->data); }}void leaves(struct node *root){ if(root!=NULL) { if(root->lchild==NULL&&root->rchild==NULL) { count++; } leaves(root->lchild); leaves(root->rchild); }}int treedeep(struct node *root){ int ld,rd; if(!root) return 0; else { ld = treedeep(root->lchild); rd = treedeep(root->rchild); if(ld>rd) return ld+1; else return rd+1; }}int main(){ struct node *root; scanf("%s",a); i=0; count=0; root=creat(); zhong(root); printf("\n"); hou(root); printf("\n"); leaves(root); printf("%d\n",count); printf("%d\n",treedeep(root)); return 0;}
0 0
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- sdutoj2136 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历 SDUT
- 数据结构实验之二叉树二:遍历二叉树
- 数据结构实验之二叉树二:遍历二叉树
- 自定义ImageView实现切图的无缝对接
- mybatis-字符串判断
- JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载
- 数据结构实验之二叉树的建立与遍历
- 数据结构实验之二叉树的建立与遍历
- Hibernate框架关系映射
- 数据结构实验之二叉树三:统计叶子数
- 数据结构实验之二叉树三:统计叶子数
- fop's font
- 1.1机器学习基础-python深度机器学习
- tensorflow build source shell __ for ubuntu
- 获取整个实例下缺失的索引信息