树的遍历方式(不知道对不对)
2015-08-08 17:10
232 查看
#include<stdio.h> #include<stdlib.h> char s[26]; int n; void qx(int x){ printf("%c ",s[x]); if(2*x<=n)qx(2*x); if(2*x+1<=n)qx(2*x+1);//前序遍历:根->左->右 } void zx(int x){ if(2*x<=n)zx(2*x); printf("%c ",s[x]); if(2*x+1<=n)zx(2*x+1);//中序遍历:左->根->右 } void hx(int x){ if(2*x<=n)hx(2*x); if(2*x+1<=n)hx(2*x+1); printf("%c ",s[x]);//后序遍历:左->右->根 } int main(){ int i,j,k,m; scanf("%d",&n); for(i=1;i<=n;i++){ s[i]=64+i; } puts("qxbl:"); qx(1); puts("\nzxbl:"); zx(1); puts("\nhxbl:"); hx(1); system("pause"); return 0; }
相关文章推荐
- Linux常用命令大全
- hdu-2100-lovekey
- CodeForces 545A
- C++中引用(&)的用法和应用实例
- hongyang的博文深入理解Android中的自定义属性 学习笔记
- Vanya and Lanterns
- linux系统的颜色配置
- 快速幂
- Parcelable接口的使用
- HDU 1677 二分法进行判断
- 解决 Jenkins 没有权限监听 Gerrit 的 ‘Stream Events’的问题
- ZOJ 3430 Detect the Virus (AC自动机)
- 堆排序(初学者)
- jquery 实现可编辑div
- HDU A Mathematical Curiosity
- 【ITOO高校云平台】——浅析权限系统中角色与职位
- 数据结构学习---堆栈的动态数组实现及链表实现
- NDK环境配置
- 数据结构学习---堆栈的动态数组实现及链表实现
- [Java]如何避免啰嗦的代码风格