广义表的算法库及其应用

来源:互联网 发布:知乎黑名单 编辑:程序博客网 时间:2024/06/11 09:44
[cpp] view plain copy
  1. /*  
  2. * Copyright (c)2016,烟台大学计算机与控制工程学院  
  3. * All rights reserved.  
  4. * 文件名称:项目4.cpp  
  5. * 作    者:泮春宇 
  6. * 完成日期:2016年11月17日  
  7. * 版 本 号:v1.0   
  8. *问题描述:设计算法,求出给定广义表g中的原子个数和最大原子 
  9. *输入描述:无  
  10. *程序输出:测试数据  
  11. */  


 

头文件glist.h和源文件glist.cpp代码详见第九周项目4--广义表算法库及应用1

 

主函数main.cpp代码:

[cpp] view plain copy
  1. #include <stdio.h>  
  2. #include "glist.h"  
  3.   
  4. int atomnum(GLNode *g)  //求广义表g中的原子个数  
  5. {  
  6.     if (g!=NULL)  
  7.     {  
  8.         if (g->tag==0)  
  9.             return 1+atomnum(g->link);  
  10.         else  
  11.             return atomnum(g->val.sublist)+atomnum(g->link);  
  12.     }  
  13.     else  
  14.         return 0;  
  15. }  
  16.   
  17. ElemType maxatom(GLNode *g)             //求广义表g中最大原子  
  18. {  
  19.     ElemType max1,max2;  
  20.     if (g!=NULL)  
  21.     {  
  22.         if (g->tag==0)  
  23.         {  
  24.             max1=maxatom(g->link);  
  25.             return(g->val.data>max1?g->val.data:max1);  
  26.         }  
  27.         else  
  28.         {  
  29.             max1=maxatom(g->val.sublist);  
  30.             max2=maxatom(g->link);  
  31.             return(max1>max2?max1:max2);  
  32.         }  
  33.     }  
  34.     else  
  35.         return 0;  
  36. }  
  37.   
  38. int main()  
  39. {  
  40.     GLNode *g;  
  41.     char *s="(b,(b,a,(#),d),((a,b),c((#))))";  
  42.     g = CreateGL(s);  
  43.     DispGL(g);  
  44.     printf("\n");  
  45.     printf("原子个数 :%d\n", atomnum(g));  
  46.     printf("最大原子 :%c\n", maxatom(g));  
  47.     return 0;  
  48. }  


运算结果:

 

知识点总结:

广义表的运算。

学习心得:

通过利用广义表算法库解决实际问题让我认识到了广义表算法库的意义,对学习广义表有了更大的兴趣。

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑页面加载不出来怎么办 电脑主页面加载不出来怎么办 桌面图标不见了怎么办右键无反应 手机一直闪退该怎么办 点击华为设置闪退怎么办 小白摄像头获取视频文件失败怎么办 为什么解压文件老提示失败怎么办 b站sd卡写入失败怎么办 手机检测不到sd卡怎么办 华为sd卡不可用怎么办 u盘延缓写入失败怎么办 手机提示sd卡不可用怎么办 显示sd卡不可用怎么办 小米手机检测不到sd卡怎么办 小米手机sd卡写入失败怎么办 没有检测到sd卡怎么办 e站图片配额用尽怎么办 内存卡密码忘了怎么办 电脑上酷狗音乐播放失败怎么办 播放失败不支持该文件怎么办 手机山寨云资源失效怎么办 支付密码输错了怎么办 微信密码锁定了怎么办 电脑网易云音乐闪退怎么办 逆战耳机电流声怎么办 肠道感染一直吃药治不好怎么办 如果24小时以后还没到账该怎么办 在游戏平台充值没到账该怎么办 充值豪华黄钻没到账该怎么办 起点签到签满了怎么办 ipad锁屏声音小怎么办 扣扣邮箱文件超大了怎么办 网易邮箱图片已过期怎么办 邮箱里面的文件过期了怎么办 邮箱发的文件过期了怎么办 邮箱发送的文件过期怎么办 小米4s开不开机怎么办 小米平板关机后开不开机怎么办 公司老板跑路了社保怎么办 公司老板跑路社保怎么办 公司被公安局查封社保怎么办