2.1 线性表的定义和基本操作

2.1 线性表的定义和基本操作

2.1.1 线性表的定义

线性表是具有相同数据类型的n个数据元素的有限序列,其中n为表长,当n=0时,线性表是一个空表。若用L命名线性表,则其一般表示为:
L = ( a 1 , a 2 , ⋅ ⋅ ⋅ , a n ) L=(a_1,a_2,···,a_n) L=a1,a2,⋅⋅⋅,an
a_1称为表头元素,a_n称为表位元素,除去这两个元素之外,每个元素都有一个直接前驱和一个直接后继。这些是线性表的逻辑特性。

线性表的特点:

  • 元素的个数有限
  • 元素具有逻辑上的顺序性,元素有先后次序。
  • 元素都是数据元素,每个元素都是单个元素。
  • 元素的数据类型都相同,这意味着每个元素占有相同大小的元素空间。
  • 元素具有抽象性,即仅讨论元素之间的逻辑性,不考虑元素究竟是什么内容。

[注意:线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面的概念,因此不要将其混淆。]

2.1.2 线性表的基本操作

  • IniList(&L):初始化表。构造一个空的线性表。
  • Length(L):求表长。返回线性表L的长度,即L中数据元素的个数。
  • LocateElem(L, e):按值查找操作。在表L中找到具有给定关键字值的元素。
  • GetElem(L, i):按位查找操作。获取表L中第i个位置的元素的值。
  • ListInsert(&L, i, &e):插入操作。在表L中第i个位置上插入指定元素e。
  • ListDelete(&L, i, e):删除操作。在表L中删除第i个位置的元素,并用e返回被删除的元素。
  • PrintList(L):输出操作。按顺序输出线性表L的所有元素。
  • Empty(L):判空操作。若L为空表,则返回True,否则返回False。
  • DestoryList(&L):销毁操作。销毁线性表L,并释放L占用的内存空间。

[注意:①基本操作的实现取决于采取哪种存储结构,若存储结构不同,基本操作的实现的算法也不同。②符号&表示C++语言中的引用调用,在C语言中采用指针也可以达到同样的效果。]

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值