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

Status Equal(GList A, GList B)

/* 判断广义表A和B是否相等,是则返回TRUE,否则返回FALSE */

{

    if(A==null && B==null)

        return OK;

    if(A->tag==0 && B->tag==0){

        if(A->un.atom == B->un.atom)

            return OK;

        else

            return ERROR;    

    }else if(A->tag==1 && B->tag==1){

        if(Equal(A->un.ptr.hp, B->un.ptr.hp) && Equal(A->un.ptr.tp, B->un.ptr.tp))

            return OK;

    }else

        return ERROR;           

}

    原文作者:递归算法
    原文地址: https://blog.csdn.net/u012571415/article/details/23716679
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞