什么是线性表(定义/基本操作)
数据结构的三要素:逻辑结构,数据的运算,存储结构(物理结构)
存储结构不同,运算的实现方式不同。
因为是相同数据类型的数据元素。
所以每个数据元素所占的空间一样大。(这样计算机能够快速的定位数据元素)
数量是有限的,且是有次序的。——————————判断是否排列为线性表
不是,因为不满足有限。
几个概念:
ai是线性表中的“第i个”元素线性表中的位序(从一开始)(注意数组是从0开始哦)
a1是表头元素:an是表尾元素。
除了第一个元素外,每个元素有且仅有一个直接前驱;除了最后一个元素外,每个元素有一个直接后继。
为什么要把一个线性结构称之为表呢?
LINER LIST(English name)
天线宝宝
list也有列表的含义
如果说每个数据元素存储一个或多个数据项,那么就可以与
线性表的基本操作(相当于函数名和形参)
liner list 从无到有和从有到无
InitlLst(&L):初始化表。构造一个空的线性表L,分配内存空间。
DestroyList(&L):销毁操作。销毁线性表,并适当线性表L所占用的内存空间。
ListInsert(&L,I,e):插入操作。在表L中的第i个位置上插入指定元素e
ListDelete(&L,i,&e):删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值.
LocateElem(L,e):按值查找操作。在表L中查找具有给定关键字值e的元素。
GetElem(L,i):按位查找操作。获取表L中第i个位置的元素的值。
其他常见操作:
Length(L):求表长,返回线性表L的长度,即L中数据元素的个数。
PrintList(L):输出操作。按照前后顺序输出线性表 L的所有元素值。
Empty(L):判空操作。若L为空表,则返回True,否则返回false。
TIPS:
(1)对数据的操作(记忆思路)————创销,增删改查
(2)C语言函数的定义————<返回值类型>函数名(<参数1类型>参数1,<参数二类型>参数二)
(3)什么时候要传入参数的引用&,对参数的修改结果需要“带回来”。
我们可以看到,传入的参数带不回来。
也就是“带回到”main函数。
所以这就是我们为什么要加入引用符号,我们
希望把参数结果带回来。
所以就是有的形参前面需要加上引用符号,而有的没有加上。
WHY要实现对数据结构的基本操作:
(1)团队合作编程,你定义的数据结构要让别人很方便的使用(封装)
(2)将常用的操作。运算符分装到函数,避免重复工作,降低出错风险。