数据结构三要素:逻辑结构、数据的运算、存储结构(物理结构)--【存储结构不同,运算的实现方式不同】
线性表的定义
线性表是具有
相同
数据类型的
n
(
n
≥0
)个
数据元素
的
有限 序列
,其中
n
为
表长
,当
n
= 0
时线
性表是一个
空表
。若用
L
命名线性表,则其一般表示为
L= (
a
1
,
a
2
, … ,
a
i
,
a
i
+1
, … ,
a
n
)
几个概念:
a
i
是线性表中的“第
i
个”元素线性表中的
位序
a
1
是
表头元素
;
a
n
是
表尾元素
。
除第一个元素外,每个元素有且仅有一个
直接前驱
;除最后一个元素外,每个元素有且仅
有一个
直接后继
总结一下:
线性表的基本操作
为什么要实现对数据结构的基本操作?
①团队合作编程,你定义的数据结构要让别人能够很方便的使用(封装)
②将常用的操作
/
运算封装成函数,避免重复工作,降低出错风险。
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
:严蔚敏版《数据结构》)
⑤什么时候要传入引用“
&
”
——
对参数的修改结果需要
“带回来”
总结:
复习考研数据结构第三天!!!