线性表的定义
注:数据结构的三要素--逻辑结构、数据的运算、存储结构(物理结构)存储结构不同,运算的实现方式不同。
线性表是具有相同数据类型的n (n≥0)个数据元素的有限序列,其中n为表长,当n = 0时线性表是一个空表。若用L命名线性表,则其一般表示为:
$L=(a_1,a_2,a_3,……a_i,a_{i+1},……a_n)$
- 每个数据元素所占空间一样大
- 有次序
- 表示线性表的角标是从1开始的
几个概念:
- $a_i$是线性表中的“第i个”,元素线性表中的位序(位序是从1开始的。数组下标是0开始的)
- $a_1$是表头元素;$a_n$是表尾元素
- 除了第一个元素之外,每一个元素有且仅有一个直接前驱;除最后一个元素外,每一个元素有且只有一个直接后继。
线性表 -- Linear List
- Linear :线
- List:列表
线性表的基本操作
InitList(&L)
:初始化线性表。构造一个空的线性表L,分配内存空间。从无到有DestroyList(&L)
:销毁操作。销毁线性表,并释放线性表L所占用的内存空间。从有到无ListInsert(&L,i,e)
:插入操作。在表L中的第i个位置上插入指定元素eListDelete(&L,i,&e)
:删除操作。删除表L中的第i个位置的元素,并用e返回删除元素的值。LocateElem(L,e)
:按值查找操作。在表L中查找具有给定关键字值的元素。GetElem(L,i)
:按位查找操作。获取表L中第i个位置的元素的值。其他的常用操作:
Length(L)
:求表长。返回线性表L的长度,即L中数据元素的个数。PrintList(L)
:输出操作。按前后顺序输出线性表L的所在元素值。Empty(L)
:判空操作。若表L为空表,则返回ture
,否则返回为false
。
①对数据的操作(记忆思路)---创销、增删改查
②C语言函数的定义-- <返回类型> 函数名(<参数1类型> 参数1,<参数2类型> 参数2,……)
③实际开发中,可根据实际需求定义其他的基本操作
④函数名和参数的形式、命名都可改变。
⑤什么时候需要传入引用“&”--对参数的修改结果需要“带回来的时候”(C++支持,C语言不支持)
②C语言函数的定义-- <返回类型> 函数名(<参数1类型> 参数1,<参数2类型> 参数2,……)
③实际开发中,可根据实际需求定义其他的基本操作
④函数名和参数的形式、命名都可改变。
⑤什么时候需要传入引用“&”--对参数的修改结果需要“带回来的时候”(C++支持,C语言不支持)
为什么要实现对数据结构的基本操作?
- 团队合作编程,你定义的数据结构要让别人能够很方便的使用(封装)
- 将常用的操作/运算封装成函数,避免重复工作,降低出错风险。
存储/物理结构
版权声明:文章转载请注明来源,如有侵权请联系删除!