2022数据结构考研知识体系:线性表-线性表的定义和基本操作

如题所述

第1个回答  2022-10-18
一、线性表的定义

1.定义

线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列。其中n为表长,当n=0时该线性表是一个空表。若用L命名线性表,则其一般表示为

L=(a1,a2…ai…an)

式中,a1是唯一的第一个数据元素,又称表头元素;an是唯一的最后一个数据元素,又称表尾元素。

2.逻辑特性

除第一元素外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直接后继。

3.线性表的特点

(1)表中元素的个数有限;

(2)表中元素具有逻辑上的顺序性,在序列中各元素排序有其先后次序;

(3)表中元素都是数据元素,每个元素都是单个元素(单个数据项);

(4)表中元素的数据类型都相同,即每个元素占有相同大小的存储空间;

(5)表中元素具有抽象性,仅讨论元素间的逻辑关系,而不考虑元素究竟表示什么内容。

注意:线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是存储结构,不是同一个概念!!!!!

二、线性表的基本操作

最基本操作:增删改查

InitList(&L):初始化表。构造一个空的线性表;

Length(L):求表长。返回线性表L的长度,即L中数据元素的个数;

LocateElem(L,e):按值查找操作。在表L中查找具有给定关键字值的元素;

GetElem(L,i):按位查找操作。在表L中的第i个位置上插入指定元素e;

ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e;

ListDelete(&L,i,e):删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值;

PrintList(L):输出操作。按前后顺序输出线性表L的所有元素值;

Empty(L):判空操作。若L为空表,则返回true,否则返回false;

DestroyList(&L):销毁操作。销毁线性表,并释放线性表L所占用的内存空间。

注:基本操作的实现取决于采用哪种存储结构。其中“&”表示C++中的引用。
相似回答