二叉树中所有节点的左右子树相互交换 递归与非递归程序
来源:互联网 发布:淘宝店铺头像在线制作 编辑:程序博客网 时间:2024/04/28 17:09
//将二叉树中所有节点的左右子树相互交换BiNode* Exchange(BiNode* T){ BiNode* p; if(NULL==T || (NULL==T->lchild && NULL==T->rchild)) return T; p = T->lchild; T->lchild = T->rchild; T->rchild = p; if(T->lchild) { T->lchild = Exchange(T->lchild); } if(T->rchild) { T->rchild = Exchange(T->rchild); } return T;}//将二叉树中所有节点的左右子树相互交换//不使用递归void NonRecursive_Exchange(BiNode* T){ Stack s; BiNode* p; if(NULL==T) return; InitStack(&s); Push(&s,T); while(!isEmpty(&s)) { T = Pop(&s); p = T->lchild; T->lchild = T->rchild; T->rchild = p; if(T->rchild) Push(&s,T->rchild); if(T->lchild) Push(&s,T->lchild); } DestroyStack(&s); }
0 0
- 二叉树中所有节点的左右子树相互交换 递归与非递归程序
- 二叉树中所有节点的左右子树相互交换 递归与非递归程序
- 6_43_递归交换二叉树中所有节点的左右子树
- 非递归实现交换二叉树的左右子节点
- 交换二叉树的左右子树——非递归方式
- [Java]将二叉树的左右子树交换 非递归实现
- 反转二叉树,即交换所有结点的左右子树,但不能使用递归方法。
- java实现二叉树的子树交换的递归与非递归写法
- 编写算法交换二叉树中所有节点的左右子树
- 二叉树中插入节点的递归与非递归
- C语言二叉树建立,遍历(递归与非递归),交换子树
- 非递归交换二叉树左右子树:BinaryTree:Exchange the left child and the right child without recursive method
- 带模板的二叉树包含递归遍历,与非递归,插入子树
- 用递归的方式对于树的各种实现(前序、中序、后序、层次、节点、深度、交换左右子树)
- 将二叉树中所有结点的左、右子树相互交换
- 学习笔记—交换二叉树所有节点中的左右子树
- 第4章第1节练习题7 交换二叉树所有节点左右子树
- 二叉树左右子树交换的算法
- 15电气徐立立(十进制转为十六进制)
- HDU 4165 Pills (DP卡特兰数列)
- CSS rgb颜色产生原理 & 颜色对照表
- Cannot add or update a child row: a foreign key constraint fails (`tsproduct/product`, CONSTRAINT `F
- 关于while(geline(cin,s))语句执行解释
- 二叉树中所有节点的左右子树相互交换 递归与非递归程序
- 练习三 1003
- Android 中Textview字体加粗
- nyoj 148 fibonacci数列(二)
- Hadoop集群WordCount详解
- Mac下安装opencv-python
- 解决 U盘安装Centos后拔除U盘无法启动问题方法,重新建立引导分区
- 起泡法排序
- 常用小方法的整理(1)