第九周项目4-广义表算法库及应用(2)
来源:互联网 发布:中文域名转码工具 编辑:程序博客网 时间:2024/06/05 11:58
问题描述及代码
/* *烟台大学计控学院 *作 者:张雯婧*完成日期:2016年10月24日 *问题描述:设计算法,求出给定广义表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 广义表算法库及应用
- 错误51error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突 opencv_core248d.lib opencv_core248d.dll
- linux
- 数据挖掘十大经典算法(4)Apriori
- 去掉Myeclipse对JS等文件的验证(Cannot return from outside a function or method)
- YII2 安装
- 第九周项目4-广义表算法库及应用(2)
- synchronized 和 Lock
- 源码-Oracle数据库管理-第十一章-Oracle内置函数-Part 4(类型转换函数)
- 求出0~n内 数字9出现的个数
- MongoDB
- 2016年8月19日-第三章练习
- 加载大图片
- nio
- 数据挖掘十大经典算法(5) EM