• 大小: 1KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签: 算法  

资源简介

判别两个广义表是否相等的递归算法

资源截图

代码片段和文件信息

试编写判别两个广义表是否相等的递归算法。

要求实现以下函数:
Status Equal(GList A GList B);
/* 判断广义表A和B是否相等是则返回TRUE否则返回FALSE */

广义表类型GList的定义:
typedef enum {ATOMLIST} ElemTag;
typedef struct GLNode{
     ElemTag tag;
     union {
           char atom;
           struct {
           GLNode *hp *tp;
       } ptr;
     }un;/*注意这里的un,它直接影响到p->i和p.i的用法*/
} *GList;

算法:广义表分为三种情况:只有空表、只有原子、子表的表头表尾相同
      1、当都是空表时相同
 

评论

共有 条评论