线性表(思想+伪代码+部分代码实现)

a.  线性表(List):零个或多个数据元素的有序序列。b.  线性表的长度n=LIstLenght(L);当n=0时,线性表为空,即空表。c.  在复杂的线性表中,一个数据元素可以是若干个数据项目组成。1.线性表的抽象数据类型 ADT 线性表 (List)DataOperation Initlist (*L ) 初始化建立一个空链表
摘要由CSDN通过智能技术生成

a.  线性表(List):零个或多个数据元素的有序序列。
b.  线性表的长度n=LIstLenght(L);当n=0时,线性表为空,即空表。
c.  在复杂的线性表中,一个数据元素可以是若干个数据项目组成。


1.线性表的抽象数据类型

 ADT 线性表 (List)
Data

Operation
    Initlist   (*L )       初始化建立一个空链表L
    ListEmpty  ( L )       若线性表为空 返回ture  否则,返回flash
    ClearList  (*L )       将线性表清空
    GetElem    (L,i,*e)    将线性表的第i个元素返还给e
    LocateElem (L,e)       在线性表中查找与给定e相同的元素  如果成功返还成功
    ListInsert (*L,i,e)    在线性表第i个位置插入元素e
    ListDelete (*L,i,*e)   删除线性表第i个位置元素,并用e作为返回值
    ListLength (L)         返回线性表的元素个数
endDT
 
2. 假设La表示集合A,Lb表示集合B       代码实现以下功能  : 将所有的在线性表Lb但不在La的元素插入La中

void unionL(list *La,list Lb)
{
    int La_len,Lb_len,i;
    ElemType e;        //声明和La,Lb长度一样的元素e
    La_len=strlen(*La);
    Lb_len=strlen(Lb);
    for(i=1;i<=Lb_len;i++)
    {
        GetElem(Lb,i,&e);  //取Lb中第i个数据元素赋给e
        if(!LocateElem(*La,e)) //*La中不存在与e相同的元素
            ListTnstrt(La,++La,e); //插入
    }
}


3.线性表的顺序储存结构

线性表的顺序储存结构指的是用一段地址的存储单元依次存储线性表的数据元素

/*线性表的顺序储存结构*/

#define MAXSIZE 20     //储存空间初始分配量
typedef int ElemType;   //ELemType 类型根据实际情况而定,这里假设为int
typedef struct
{
    ElemType data[MAXSIZE];//数组存储数据元素,最大值为MAXZIZE
    int lenght;   //线性表的长度
}SqList;


4.线性表的插入与删除操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值