第九周项目四-----广义表算法库及应用2
2015-12-14 21:15
483 查看
/*烟台大学计算机与控制工程学院 作者:孙潇 时间:2015年12月11日 问题描述: 设计算法,求出给定广义表g中的原子个数和最大原子 输入描述:无 输出描述:若干数据 */
#include <stdio.h> #include "glist.h" int atomnum(GLNode *g) //求广义表g中的原子个数 { if (g!=NULL) { if (g->tag==0) return 1+atomnum(g->link); else return atomnum(g->val.sublist)+atomnum(g->link); } else return 0; } ElemType maxatom(GLNode *g) //求广义表g中最大原子 { ElemType max1,max2; if (g!=NULL) { if (g->tag==0) { max1=maxatom(g->link); return(g->val.data>max1?g->val.data:max1); } else { max1=maxatom(g->val.sublist); max2=maxatom(g->link); return(max1>max2?max1:max2); } } else return 0; } int main() { GLNode *g; char *s="(b,(b,a,(#),d),((a,b),c((#))))"; g = CreateGL(s); DispGL(g); printf("\n"); printf("原子个数 :%d\n", atomnum(g)); printf("最大原子 :%c\n", maxatom(g)); return 0; }
运行结果:
相关文章推荐
- javascript隐藏和显示元素
- C# 序列化
- java.lang.NoSuchMethodError: org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar
- Android内存泄露总结(一)
- 三个容易混淆的jquery选择器
- 三个容易混淆的jquery选择器
- Unreal Engine 4添加自定义Settings到项目设置
- 网格的学习—2
- Duilib源码分析(五)UI布局—Layout与各子控件
- Python元组的简单介绍
- 以太网帧格式
- 【Java基础】Java设计模式简介
- 推荐几款TAB选项卡
- JQ的学习
- [Servlet&JSP] 过滤器的使用
- HDU 1178 Heritage from father 数学公式 JAVA
- 【我的JS第三本】JavaScript_DOM编程艺术第二版读书笔记
- Android:ListView 多布局,加头部,尾部
- UVA11624 Fire BFS
- Linux入门基础