二叉树
2016-05-07 17:07
204 查看
设计在链式存储结构上交换二叉树中所有结点左右子树的算法
//注意到左右子树交换结点交换是一个递归的过程,具体操作如下:
//判断二叉树是否为空,若为空,则无需交换,否则递归交换左右孩子的指针
//注意到左右子树交换结点交换是一个递归的过程,具体操作如下:
//判断二叉树是否为空,若为空,则无需交换,否则递归交换左右孩子的指针
typedef struct node{ int data; struct node *lchild,*rchild; }bitree; void swapbitree(bitree *bt) { bitree *p; if(bt == NULL) return; swapbitree(bt->lchild);//交换根结点左子树上的结点的左右孩子结点 swapbitree(bt->rchild); p = bt->lchild;//最后交换根结点的左右孩子结点 bt->lchild = bt->rchild; bt->rchild = p; }
相关文章推荐
- 求任意范围内回文素数c++解决方案(解决了地址释放的问题,附错误原因简述)
- 十六进制的编程
- 基于R-CNN的物体检测
- 机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting
- poj,1273Drainage Ditches
- 《Hibernate学习笔记十》:多对多关联关系详解
- Windows安装AndroidStudio开发软件
- 16进制的转换
- IOS NSTimer 定时器用法总结
- 第一章 JAVA入门(Hello World)
- 栈与队列的互相转化
- PowerDesigner 的 COMMENT注释
- 整理音乐
- 机器学习中的数学(2)-线性回归,偏差、方差权衡
- 【jQuery/CSS】显示或隐藏元素
- Object-c------NSArray的简单介绍
- C++实验五——数组的分离。
- dpdk编译安装
- 【2016】四月份英语学习总结
- 使用Spinner实现省市三级联动