鱼弦:公众号:红尘灯塔,CSDN博客专家、内容合伙人、新星导师、全站领域优质创作者、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen)
编写程序实现广义表求表头和表尾的各种运算,并在此基础上设计一个主程序完成如下功能:建立这样三个广义表 g1=(a,(a),((a)), g2=三个括号里面一个a,g3=(a,(a,b),((a,b),c))的链式存储结构。
#include <stdio.h>
#include <stdlib.h>
typedef char DataType;
// 广义表结点类型的定义
typedef struct GLNode
{
int flag; // 结点类型表示
union
{
DataType data;
struct GLNode *sublist;
} value;
struct GLNode *next; // 指向下一个元素
} GLNode;
GLNode *copyGL(GLNode *p)
{
GLNode *q;
if (NULL == p)
return NULL;
q = (GLNode *)malloc(sizeof(GLN