第二章 数据结构-线性表
一、线性表的定义
1.定义
线性表是具有相同数据类型的 n ( n ≥ 0 ) n(n \geq 0) n(n≥0) 个数据元素的有限序列,其中 n n n 为表长,当 n = 0 n=0 n=0 时线性表是一个空表。若用L命名线性表,则其一般表示为:
L = ( a 1 , a 2 , . . . , a i , a i + 1 , . . . , a n ) L=(a_1,a_2,...,a_i,a_{i+1},...,a_n) L=(a1,a2,...,ai,ai+1,...,an)
2. 概念
(1) a i a_i ai 是线性表中的“第i个”元素在线性表中的位序。
(2) a i a_i ai 是表头元素; a n a_n an 是表尾元素。
(3)除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继。
二、线性表的基本操作
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的长度。
PrintList(L)
:输出操作。按前后顺序输出线性表L的所有元素值。
Empty(L)
:判空操作。若L为空表,则返回true,否则返回false。
本文为个人学习笔记,若有问题可一起讨论学习
更多内容可以关注个人博客:Ackow的博客