数据结构实验之求二叉树后序遍历和层次遍历
来源:互联网 发布:张伯伦生涯数据 编辑:程序博客网 时间:2024/04/30 00:14
#include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct tnode{ char data; tnode *lc,*rc;}*tree;void build(tree &t,char *he,char *mid,int len) //数组用字符来代替{ if(len==0) t=NULL; //递归停止条件 else { int k=0; int n=strlen(mid); for(;k<n;k++) //寻找根节点 { if(mid[k]==*he) break; } t=new(tnode); t->data=*he; build(t->lc,he+1,mid,k); //t->lc; 递归左子树 build(t->rc,he+k+1,mid+k+1,len-(k+1)); //t->rc; 递归右子树 }}void last(tree &t) //后序遍历{ if(t) { last(t->lc); last(t->rc); printf("%c",t->data); }}typedef struct qnode //队节点{ tree data; qnode *next;}*qtype;typedef struct //队的定义{ qtype front,rear;}que;void QueInitial(que &q) //队的初始化{ q.front=q.rear=new(qnode); q.front->next=NULL;}void InQue(que &q,tree &e) //队的插入{ qtype p; p=new(qnode); p->data=e; p->next=NULL; q.rear->next=p; q.rear=p;}char DelQue(que &q,tree &e){ qtype p; if(q.front==q.rear) return 0; p=q.front->next; e=p->data; q.front->next=p->next; if(q.rear==p) q.rear=q.front; free(p);}char QueEmpty(que &q){ if(q.front==q.rear) return 1; else return 0;}void ceng(tree &t){ que q; QueInitial(q); if(t) InQue(q,t); while(!QueEmpty(q)) { DelQue(q,t); printf("%c",t->data); if(t->lc) InQue(q,t->lc); if(t->rc) InQue(q,t->rc); }}int main(){ int n; char he[55],mid[55]; tree t; scanf("%d",&n); while(n--) { scanf("%s %s",he,mid); int len=strlen(he); build(t,he,mid,len); last(t); printf("\n"); ceng(t); printf("\n"); } return 0;}
0 0
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 数据结构实验之求二叉树后序遍历和层次遍历
- 安卓初步
- java设计模式之装饰者模式
- JZOJ4727. 挺进
- 转载:GCD优先级子队列扫盲
- Spring AOP实践(二)编程篇
- 数据结构实验之求二叉树后序遍历和层次遍历
- Linux下文件的3个时间属性
- springmvc实现文件上传
- 使用Spring-data进行Redis操作
- [2016/8/23][C语言]main函数的参数
- 大数据IMF传奇行动绝密课程第36课:TaskScheduler内幕天机解密
- mysql varchar和char类型在不同字符集下的字符数和字节数计算
- CodeForces 632B Co-prime Array 【GCD(互质)】
- Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果