【考研或自学数据结构2.1】——线性表(线性表的定义,线性表的基本操作)
离线笔记:
链接:https://pan.baidu.com/s/1e-goeFpFw4CwxYoKhBsCtA
提取码:eiyq
1. 线性表的定义
线性表是具有相同
数据类型的n(n≥0)个数据元素的有限序列
,其中n为表长,当n = 0时线性表是一个空表
。若用L命名线性表,则其一般表示为
相同:每个数据元素所占空间一样大
序列:有次序
L = (a1, a2, … , ai, ai+1, … , an)
几个概念:
ai是线性表中的“第i个”元素线性表中的位序
a1是表头元素
;an是表尾元素
。
除第一个元素外,每个元素有且仅有一个直接前驱
;除最后一个元素外,每个元素有且仅有一个直接后继
。
注意:位序
从1开始数组下标从0开始
2. 线性表的基本操作
线性表的基本操作即数据结构三要素中——“运算”
为什么要实现对数据结构的基本操作?
①团队合作编程,你定义的数据结构要让别人能够很方便的使用(封装)
②将常用的操作/运算封装成函数,避免重复工作,降低出错风险
基本操作
- InitList(&L):
初始化表
。构造一个空的线性表L,分配内存空间。 - DestroyList(&L):
销毁操作
。销毁线性表,并释放线性表L所占用的内存空间。 - ListInsert(&L,i,e):
插入操作
。在表L中的第i个位置上插入指定元素e。 - ListDelete(&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为空表,则返回true,否则返回false。
Tips:
①对数据的操作(记忆思路) —— 创销、增删改查
②C语言函数的定义 —— <返回值类型> 函数名 (<参数1类型> 参数1,<参数2类型> 参数2,……)
③实际开发中,可根据实际需求定义其他的基本操作
④函数名和参数的形式、命名都可改变(Reference:严蔚敏版《数据结构》)
⑤什么时候要传入引用“&” —— 对参数的修改结果需要“带回来”
什么时候要传入参数的引用“&” —— 对参数的修改结果需要“带回来”