数据结构之线性表的定义

一、逻辑结构和物理结构
在了解线性表之前我们先来知道一些数据结构里简单的定义:逻辑结构和物理结构
1、逻辑结构
(1)定义:指数据对象中数据元素的关系。
(2)分类:逻辑结构分为集合结构、线性结构、数形结构和图形结构四种。
集合结构:数据元素同属一个集合外,它们之间没有任何其他关系。
线性结构:数据元素之间是一对一的关系。
树形结构:数据元素之间是一对多的关系。
图形结构:数据元素之间是多对多的关系。
2、物理结构
(1)定义:指数据的逻辑结构在计算机中的形式。
(2)分类:物理结构分为顺序存储结构和链式村粗话结构
顺序存储结构:把数据元素存放在地址连续的存储单元里,数据间的物理关系和逻辑关系是一致的。
链式存储结构:把数据元素存放在任意的存储单元里,存储的地址可以连续可以不连续。
二、线性表
1、定义:线性表(List):零个或多个数据元素的有限序列。首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第-一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。
2、书写:若将线性表记为(a1, … a(i-1), ai, a(i+1), … an),则表中a(i-1) 领先于ai, ai领先于a(i+1), 称a(i-1)是ai的直接前驱元素, a(i+1)是ai的直接后继元素。当i=1,2, …n-1时,a有且仅有一个直接后继,当i=2, 3, … n时,ai有且仅有一一个直接前驱。如图所示:
在这里插入图片描述

所以线性表元素的个数n (n≥0)定义为线性表的长度,当n=0时,称为空表。
三、线性表的抽象数据类型

ADT 线性表(List)
Operation
InitList (*L) //初始化操作,建立一个空的线性表L。
ListEmpty (L) //若线性表为空,返回true,否则返回false。
ClearList(*L) //将线性表清空。
GetElem(L,i,*e) //将线性表L中的第i个位置元素值返回给e。
LocateElem(L,e) //在线性表L中查找与给定值e相等的元素,如果查找成功,返回该元素在表中序号表示成功;否则,返回0表示失败。
ListInsert (*L,i,e) //在线性表L中的第i个位置插入新元素e。
ListDelete ( *L,i,*e) //删除线性表L中第i个位置元素,并用e返回其值。
ListLength (L) //返回线性表L的元素个数。
endADT
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值