二叉树首尾点的寻找
来源:互联网 发布:mac照片如何归类 编辑:程序博客网 时间:2024/04/30 05:38
#include<iostream>#include<cstdio>#include<cstring>#define maxn 1111using namespace std;struct Tree{ Tree *lchild,*rchild; char data;};Tree* buildbypre(Tree *t){ char c; cin>>c; if(c=='#') return NULL; t=new Tree; t->data=c; t->lchild=buildbypre(t->lchild); t->rchild=buildbypre(t->rchild); return t;}void preorder(Tree *t){ if(t==NULL) return ; cout<<t->data; preorder(t->lchild); preorder(t->rchild);}void postorder(Tree* t){ if(t==NULL) return ; postorder(t->lchild); postorder(t->rchild); cout<<t->data;}void inorder(Tree *t){ if(t==NULL) return ; inorder(t->lchild); cout<<t->data; inorder(t->rchild);}Tree* postpointbypre(Tree *t)//前序遍历尾点{ Tree *p=t; if(t==NULL) return NULL; while(p->lchild||p->rchild)//一直往右边找,右边找不到,就往左边 { if(p->rchild) p=p->rchild; else if(p->lchild) p=p->lchild; } return p;}Tree*prepointbypost(Tree *t)//后序遍历首点{ Tree *p=t; if(t==NULL) return NULL; while(p->lchild||p->rchild) { if(p->lchild) p=p->lchild; else if(p->rchild) p=p->rchild; } return p;}Tree *prepointbyin(Tree *t)//中序遍历首点{ Tree *p=t; if(t==NULL) return NULL; while(p->lchild) p=p->lchild;//最左边那个点 return p;}Tree *postpointbyin(Tree* t)//中序遍历尾点{ Tree *p=t; if(t==NULL) return NULL; while(p->rchild) p=p->rchild; return p;}int main(){ Tree *t,*p; t=buildbypre(t); cout<<"前序遍历"<<endl; preorder(t); cout<<endl; p=postpointbypre(t); cout<<"前序遍历尾点值为"<<p->data<<endl; cout<<"后序遍历"<<endl; postorder(t); cout<<endl; p=prepointbypost(t); cout<<"后序遍历首点为"<<p->data<<endl; cout<<"中序遍历"<<endl; inorder(t); cout<<endl; p=prepointbyin(t); cout<<"中序遍历首点为"<<p->data<<endl; p=postpointbyin(t); cout<<"中序遍历尾点为"<<p->data<<endl; return 0;}
0 0
- 二叉树首尾点的寻找
- 寻找二叉树的第k大节点
- 程序员面试金典--面试22之寻找二叉树中指定结点的下一个结点
- 寻找二叉树某节点的路径
- LeetCode:寻找二叉树的最小深度
- 二叉树寻找值最大的节点
- 二叉寻找数的实现
- 寻找二叉树两节点的最近的公共祖先
- 寻找二叉搜索树的第K小的节点
- 二叉树寻找父结点
- 二叉树中寻找最大值
- 寻找二叉树中两个节点的最近祖先
- 二叉树寻找中序遍历的后继节点
- 寻找满足二叉查找树性质的最大子树
- 寻找二叉树两个结点的最低共同父节点
- 寻找二叉树两个节点的最低公共祖先(LCA)
- 二叉树寻找给定结点p的下一个结点
- 二叉树 之 寻找某个结点所有的祖先
- ion-content中存在ion-list,在ion-list外固定其他控件位置不滚动
- 【经典算法】:二分查找
- web
- css
- DOM
- 二叉树首尾点的寻找
- 如何设置一个严格30分钟过期的Session
- HDU 3374 String Problem (KMP+最大最小表示法)
- poj-1597
- (解题报告)入门经典2版———第三章习题1
- hibernate和Jdbc查询的区别以及hibernate查询普通查询和Hql
- [转载]初识Hadoop
- 自己对于instancetype的理解和应用iOS开发的过程
- 【coder-pig教程学习笔记4】xml文件解析