目录
线性表知识结构
1.线性表的基本概念
1.1线性表的定义
线性表是具有相同数据类型的n(n>=0)个数据类型的有限序列,其中,n为表长,当n=0时,线性表为一个空表。
a 1 是唯一的“第一个”数据元素,又称为表头元素,没有直接前驱。
a n 是唯一的“最后一个”数据元素,又称表尾元素,没有直接后继。
除“第一个”和“最后一个”元素外,其余元素有且只有一个直接前驱后直接后继。
注:前驱和后继是逻辑上的概念,“直接前驱”和“直接后继”是指逻辑上相邻的前一个或后一个(从左向右排列)。
1.2线性表的特点
线性表的特点:
1.表中数据元素有限
2.表中元素具有逻辑上的顺序性,表中元素有先后次序。
3.表中元素都是数据元素,每个元素都是单个元素。
4.表中元素的数据类型都相同,这意味着每个元素都占有相同大小的存储空间。
5.表中元素具有抽象性,即仅讨论元素间的逻辑关系,而不考虑元素究竟表示什么内容。
注:线性表是一种逻辑结构,表中元素之间一对一的相邻关系。顺序表和链表指的是存储结构。属于不同层面的概念,不能混淆。
1.3.线性表的基本操作
基本操作是指最核心,最基本的操作。其他复杂操作可以通过调用基本操作实现组合技。
线性表的主要操作:
InitList(&L):初始化链表。构造一个空的线性表。
Length(L):求表长。返回线性表List的长度,即List中元素的个数。
ListFind(L,e):查找操作。在表中查找具有给定关键字值的元素。
ListPushBack(&L,e):尾插操作。在线性表尾插入元素e。
ListPushFront(&L,e):头插操作。在线性表头插入元素e。
ListPopBack:尾删操作。删除线性表的最后一个元素。
ListPopFront:头删操作。删除线性表的第一个元素。
LinseInsert(&L,pos,e):插入操作。在表中第pos位置上插入元素e。
LinseErase(&L,pos,&e):插入操作。在表中第pos位置上删除元素,并用e返回删除元素的值。
ListPrint(L):打印线性表。按前后顺序输出线性表。
ListDestory(&L):销毁操作。销毁线性表,并释放线性表L的所占用的空间。
Ticps:①基本操作:创销、增删查改。
②实际开发中,根据需求自定义操作且操作命名要具有可读性,参考STL库。