第2章 线性表

数据结构:
包括数据的逻辑结构,数据的存储结构,数据的运算
线性表是 逻辑结构中 线性关系 的一种
线性表 是具有相同特性的数据元素的一个有限序列(有前驱和后继)
定义 由元素组成的有限序列
特点 1 .元素必须具有相同的特性,数据元素之间是线性关系
2.是一种典型的线性结构
**案例1一元多项式的运算
(对于稀疏多项式,只存下来指数和系数就行)
两个多项式相加计算方法:
顺序存储新创建一个数组C
指数相同:对应系数相加,若和不为零,则在C中新增一个项
指数不相同:则将指数较小的项复制到C中
**案例2
图书信息管理
步骤:
选择存储结构
实现此存储结构的基本操作
利用基本操作完成功能

##案例小总结
1 线性表数据元素的类型可以为简单类型,也可以为复杂类型
2 许多实际应用问题涉及的基本操作有很大的相似性,不应为每个具体应用单独编写一个程序
3 从具体应用中抽象出共性的逻辑结构和基本操作(抽象数据类型),然后实现其存储结构和基本操作。

线性表的类型定义

   抽象数据类型线性表的定义

ADT…
基本操作函数

InitList(&L) 操作结果:构造一个空的L线性表
DestroyList(&L) 表要存在 摧毁表
ClearList(&L) 表要存在 使表内置为空
ListEmpty(L) 表要存在
操作结果:表空返回NULL,否则返回FALES
ListLength(L) 表要存在 能够计算出线性表元素的个数
GetElem(L,i,&e);
初始条件:线性表L存在,1<=i<=L长
操作结果:用e返回线性表L中第i个数据元素的值
LocateElem(L,e,compare()) (元素定位)
操作条件:表存在,compare()是数据元素的判断函数。
操作结果:返回L中第一个与e满足compare()的数据元素的位序,如果这样的数据元素不存在返回0。
PriorElem(L,cur,_e,&pre_e)
操作条件:表存在
操作结果:若cur_e是L的数据元素,且不是第一个,则pre_e返回他的前驱,否则操作失败,pre_e无意义。
NextElem(L,cur_e,&next_e)
操作结果:若cur_e是L数据元素且不是最后一个,则用next_e,返回他的后继,否则操作失败,next_e无意义
ListInsert(&L,i,e) (元素插入)
i 的范围 1<=i<=L长+1
ListDelete(&L,i,&e) ( 删除函数)
操作结果 :删除L的第I个数据元素,并且e返回其数值,L的长度减一
List Traverse(&L,visit(ed())
操作结果:
依次对线性表中的元素调用visited()函数

这些运算只是逻辑结构定义运算,功能和实现是属于存储结构

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值