2022年数据结构C语言实现系列[]树 .pdf





《2022年数据结构C语言实现系列[]树 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构C语言实现系列[]树 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构 C 语言实现系列8树 1#include#include#define kk 3 /*定义树的度*/#define MS 10 /*定义在建立树的存储结构时的栈空间大小*/#define MQ 10 /*定义在树的按层遍历算法中的队列空间大小*/typedef char elemType;/*/*以下是关于树操作的4 个简单算法 */*/struct GTreeNode elemType data;struct GTreeNode*tkk;struct GTreeNode*parent;/*建立树的存储结构*/void createGTree(struct GTreeNode*gt,
2、char*a)struct GTreeNode*sMS;/*数组 s 作为存储树中结点指针的栈使用*/int dMS;/*数组 d 作为存储孩子结点链接到双亲结点指针域的序号栈使用*/int top=-1;/*top 作为两个栈的栈顶指针,初值为-1 表示栈空*/struct GTreeNode*p;/*定义 p 为指向树结点的指针*/int i=0,j;/*i 指示扫描字符串a中的当前字符位置*/*gt=NULL;/*初始将树根指针置空*/while(ai!=o)/*每次循环处理一个字符,直到字符串结束为止*/switch(ai)/*对空格不作处理*/case :break;/*处理左括号时
3、,让p 指针进 s 栈,进d 栈,表明待扫描的孩子结点将被链接到s栈顶元素所指结点的第一个指针域*/case(:top+;stop=p;dtop=0;break;/*处理右括号时,让s和 d 退栈*/case):top-;break;/*处理逗号时,让待读入的孩子的结点链接到s 栈顶元素所指结点的下一个指针域*/名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -case,:dtop+;break;/*此处处理的必然是字符元素*/default:/*根据 ai 字符生成新结点*/p=malloc(sizeof(struct GTreeNode);p-data=ai;for(
4、j=0;j tj=NULL;if(NULL=*gt )*gt=p;/*使结点 p 成为树根*/else stop-tdtop=p;/*链接到双亲结点对应的指针域*/break;i+;/*准备处理下一个字符*/return;/*2.树的遍历*/*先根*/void preRoot(struct GTreeNode*gt)int i;if(gt!=NULL)printf(%c,gt-data);/*访问根结点*/for(i=0;i ti);/*递归遍历每一棵子树*/return;/*后根*/void postRoot(struct GTreeNode*gt)int i;if(gt!=NULL)for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构C语言实现系列树 2022 数据结构 语言 实现 系列

限制150内