问题及代码:
/*
Copyright (c)2016,烟台大学计算机与控制工程学院
All rights reserved.
文件名称:ccc.cpp
作 者:陈梦雪
完成日期:2016年11月10日
版 本 号:v1.0
问题描述:设计一个算法,求出给定广义表g中的原子个数。
输入描述:无
程序输出:测试数据
*/
main.cpp
#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;
}
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));
return 0;
}
运行结果:
知识总结:广义表算法库的应用。
本文介绍了一个用于计算广义表中原子元素数量的算法,并通过C++代码实现。该算法递归地遍历广义表结构,针对每种节点类型采取不同的处理方式。
&spm=1001.2101.3001.5002&articleId=53113742&d=1&t=3&u=9935ce2f81de4891964c4eb0f1b5cbcc)
1919

被折叠的 条评论
为什么被折叠?



