数据结构之打印二叉树所有(根结点起)路径—整理严蔚敏数据结构
来源:互联网 发布:淘宝ipod classic 编辑:程序博客网 时间:2024/05/24 01:34
#include<iostream>#include<malloc.h>using namespace std;#define STACKSIZE 20#define SIZEADD 10typedef char ElemType;typedef struct BTNode{ElemType data;struct BTNode *pLchild;struct BTNode *pRchild;}BTNode,*pBTNode;typedef struct Stack{pBTNode *pBottom;pBTNode *pTop;int Stacksize;}Stack;void InitStack(Stack &S){S.pBottom = new pBTNode[STACKSIZE];S.pTop = S.pBottom;S.Stacksize = STACKSIZE;}void CreateBT(pBTNode &pT){ElemType c;cin >> c;if (c == '#')pT = NULL;else{pT = new BTNode;pT->data = c;CreateBT(pT->pLchild);CreateBT(pT->pRchild);}}bool StackEmpty(Stack S){if (S.pBottom == S.pTop)return true;elsereturn false;}void Push(Stack &S, pBTNode pT){if (S.pTop - S.pBottom >= S.Stacksize){S.pBottom = (pBTNode *)realloc(S.pBottom, (STACKSIZE + SIZEADD)*sizeof(pBTNode));S.pTop = S.pBottom + SIZEADD;S.Stacksize += SIZEADD;}*S.pTop++ = pT;}void Pop(Stack &S){if (StackEmpty(S))return;--S.pTop;}void Visit(pBTNode pT){cout << pT->data << " ";}void PreOrder(pBTNode pT){if (pT){Visit(pT);PreOrder(pT->pLchild);PreOrder(pT->pRchild);}}void StackPrintAs(Stack S){pBTNode *ppT = S.pBottom;if (StackEmpty(S)){cout << "The Stack is empty!" << endl;return;}while (ppT < S.pTop)Visit(*ppT++);cout << endl;}void PrintAllPath(pBTNode pT, Stack &S){if (pT){Push(S, pT);if (!(pT->pLchild) && !(pT->pRchild))StackPrintAs(S);else{PrintAllPath(pT->pLchild, S);PrintAllPath(pT->pRchild, S);}Pop(S);}}int main(void){pBTNode pT; Stack S;CreateBT(pT);//"ABC##D##EF##G##"InitStack(S);PreOrder(pT);cout << endl;PrintAllPath(pT, S);return 0;}
0 0
- 数据结构之打印二叉树所有(根结点起)路径—整理严蔚敏数据结构
- 数据结构之线索二叉树(整理严蔚敏数据结构)
- 【31】给定一个二叉树打印出所有从根结点到叶子结点路径和为 k 的路径
- 【31】给定一个二叉树打印出所有从根结点到叶子结点路径和为 k 的路径
- 打印二叉树根结点到所有叶子结点的路径
- 数据结构之打印一棵二叉树
- 数据结构复习之二叉树:遍历、搜索节点&路径、查找、与单链表互转、逐层打印
- 微软等数据结构+算法面试100题(21)--二叉树打印到叶子节点的所有路径
- 打印出二叉树中结点值的和为输入整数的所有路径
- 【数据结构基础】求二叉树结点个数
- 数据结构 - 互换二叉树中所有结点的左右子树(C++)
- 二叉树两结点的最低共同父结点[数据结构]
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 二叉树中从根结点到叶子结点的所有路径(递归实现)
- 二叉树中从根结点到叶子结点所有路径(非递归实现)
- 数据结构之二叉树
- C语言之 数组 指针 结构体
- 数组排列组合一
- 二叉树的构建、层次打印、广度遍历、深度遍历、K值路径
- 据说练就了一指禅神功的觅闻实时手机新闻网,正以每天2000+IP的用户量递增。有智能手机的可以当场进行体验,没有的就算了哈
- 考试星陈沧:借助Testin云测加速实现”考试电子化”目标
- 数据结构之打印二叉树所有(根结点起)路径—整理严蔚敏数据结构
- HDU 1695 GCD 欧拉函数+容斥定理
- EJB的bean类型
- 如何从Windows应用发送通知消息给Android应用
- 花费一上午,终于搞定64WIN8.1的prolific USB-to-serial comm port驱动问题
- Palindrome Number
- android插件apk杂记
- 解决华为手机部分机型不能打印Log问题
- 第7周项目3 求最大值