322广义表笔记

广义表(LS ,又称列表)是线性表的推广

定义为:n>=0个元素a1,a2.。。an的有限序列,an可以是一个原子项(结构上不可分割的成分,可以是一个数或者一个结构),也可以是一个广义表(则称为LS的子表)。

抽象数据类定义:

ADT Glist
{
   数据对象: D={ei | i=1,2,..,n;n>=0 ;  ei?AtomSet 或ei ?Glist,
                                     AtomSet为某个数据对象}
   数据关系:R1={< ei-1, ei > | ei-1 , ei ?D,2<=i<=n}
   基本操作:
       InitGList( &L);
             操作结果:创建空的广义表L。
       CreateGList(&L,S);
             初始条件:S是广义表的书写形式串。
             操作结果:由S创建广义表L。
       DestroyGList(&L);
            初始条件:广义表L存在。
            操作结果:销毁广义表L。
CopyGList( &T,L);
            初始条件:广义表L存在。
            操作结果:由广义表L复制得到广义表T。
       GListLength(L);
            初始条件:广义表L存在。
            操作结果:求广义表L的长度,即元素个数。
       GListDepth(L);
            初始条件:广义表L存在。
            操作结果:求广义表L的深度。
       GListEmpty (L);
            初始条件:广义表L存在。
            操作结果:判定广义表L是否为空。
       GetHead(L);
            初始条件:广义表L存在。
            操作结果:取广义表L的头。
GetTail( &T,L);
            初始条件:广义表L存在。
            操作结果:取广义表L的尾。
       InsertFirst_GL(&L,e);
            初始条件:广义表L存在。
            操作结果:插入元素e作为广义表L的第一元素。
       DeleteFirst_GL(&L,&e);
            初始条件:广义表L存在。
            操作结果:删除广义表L的第一元素,并用e返回其值。
       Traverse_GL (L,visit());
            初始条件:广义表L存在。
            操作结果:遍历广义表L,用函数visit处理每个元素。
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值