第九周 项目4-广义表算法库及应用(2)
来源:互联网 发布:字库制作软件 编辑:程序博客网 时间:2024/05/29 13:58
问题描述及代码:
/* *烟台大学计算机与控制工程学院 *作 者:张晓彤 *完成日期:2016年10月25日 *问题描述:设计算法,求出给定广义表g中的原子个数和最大原子 */glish.h:
typedef char ElemType; typedef struct lnode { int tag; //节点类型标识 union { ElemType data; //原子值 struct lnode *sublist; //指向子表的指针 } val; struct lnode *link; //指向下一个元素 } GLNode; //广义表节点类型定义 int GLLength(GLNode *g); //求广义表g的长度 int GLDepth(GLNode *g); //求广义表g的深度 GLNode *CreateGL(char *&s); //返回由括号表示法表示s的广义表链式存储结构 void DispGL(GLNode *g); //输出广义表 int atomnum(GLNode *g); //求广义表g中的原子个数 ElemType maxatom(GLNode *g); //求广义表g中最大原子glish.cpp:
typedef char ElemType; typedef struct lnode { int tag; //节点类型标识 union { ElemType data; //原子值 struct lnode *sublist; //指向子表的指针 } val; struct lnode *link; //指向下一个元素 } GLNode; //广义表节点类型定义 int GLLength(GLNode *g); //求广义表g的长度 int GLDepth(GLNode *g); //求广义表g的深度 GLNode *CreateGL(char *&s); //返回由括号表示法表示s的广义表链式存储结构 void DispGL(GLNode *g); //输出广义表 int atomnum(GLNode *g); //求广义表g中的原子个数 ElemType maxatom(GLNode *g); //求广义表g中最大原子main.cpp:
#include<stdio.h> #include"glist.h" 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; }运行结果:
知识点总结:
广义表的基本运算。
0 0
- 第九周-项目4-广义表算法库及应用
- 第九周 项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- (第九周项目4)广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周--项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周 项目4-广义表算法库及应用
- 第九周 项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 第九周项目4-广义表算法库及应用
- 【第九周项目4-广义表算法库及应用】
- 第九周 项目4 广义表算法库及应用
- Imageloader的配置
- 类 OOP
- c++/c新建文件夹 及判断文件夹是否存在
- Angular页面传参有多种办法,根据不同用例,我举5种最常见的(请在网页版知乎浏览答案):
- C语言再学习 -- 存储类、链接
- 第九周 项目4-广义表算法库及应用(2)
- C# Remoting TcpChannel
- 《FAQ:OpenCV Haartraining》——使用OpenCV训练Haar like+Adaboost分类器的常见问题
- 【转】XCode: duplicate symbol 解决方案
- 字符串处理C函数总结
- Linux入门:linux分类:yum和apt、网络配置
- 《软件需求最佳实践》与《掌握需求过程》对比
- 打印日志存在的安全性
- 关于swift3.0关于弹出键盘高度的问题