第九周-项目四 广义表算法库及应用

本文介绍了广义表算法库的实现,包括头文件glist.h的定义、源文件glist.cpp的功能函数实现以及main.cpp中的应用实例。此外,还提供了求广义表长度、深度、原子个数和最大原子的算法。

问题及描述:

/* 
*烟台大学计算机与控制工程学院 
作者:郗小艺 
完成日期:2016年10月27号 
问题描述:(1)建立广义表算法库,包括: 
 
 
① 头文glist.h,定义数据类型,声明函数; 
② 源文件glist.cpp,实现广义表的基本运算,主要算法包括: 
 
 
    int GLLength(GLNode *g);    //求广义表g的长度 
    int GLDepth(GLNode *g);     //求广义表g的深度 
    GLNode *CreateGL(char *&s); //返回由括号表示法表示s的广义表链式存储结构 
    void DispGL(GLNode *g);     //输出广义表g 
    (2)设计一个算法,求出给定广义表g中的原子个数。 
    (3)设计一个算法,求出给定广义表g中的最大原子。 

*/
/*(1)*/


 /*glist.h头文件代码*/
#ifndef GLIST_H_INCLUDED  
#define GLIST_H_INCLUDED  
  
  
#include <stdio.h>  
#include <malloc.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 *Crea
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值