2.1线性表
note:线性表是一种逻辑结构,表示元素之间的一对一相邻关系。顺序表和链表是线性表的顺序存储和链式存储。
定义:
线性表定义:具有相同数据结构类型的n(n>=0)个数据元素的有限序列,其中n为表长。n=0为空表。
L=(a1,a2,a3,a4,…,an)
a1唯一的第一个元素:表头元素。
an唯一的最后一个元素:表尾元素。
逻辑特性:除表头元素外,每个元素有且仅有一个直接前驱。除表尾元素外,每个元素有且仅有一个直接后继。
逻辑特性:除表头元素外,每个元素有且仅有一个直接前驱。除表尾元素外,每个元素有且仅有一个直接后继。
特点:
@表中元素个数有限。
@表中元素有逻辑上的顺序性,在序列中各元素排列有其先后顺序。
@表中元素都是数据元素,每个元素都是单个元素。
@表中的元素数据类型都相同,这意味着每个元素占有相同大小的存储空间。
@表中元素具有抽象性,即仅讨论元素的逻辑关系,而不考虑元素究竟表示什么内容。
基本操作:
InitList(&L):初始化表。构造一个空表。
Length(L):求表长。返回长度。
lacateElem(L,e):按值查找。
GetElem(L,i):按位查找。
ListInsert(&L,i,e):插入。
ListDelete(&L,i,&e):删除。
PrintList(L):输出。
Empty(L):判空。
DestoryList(&L):销毁操作。