news 2026/1/24 11:29:50

线性表定义和基本操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
线性表定义和基本操作

1.线性表的定义

线性表是具有相同数据类型的 n(n>=0) 个数据元素有限序列,其中 n 为表长,当n=0时线性表是一个空表。(忘记数据元素概念的可以参考https://blog.csdn.net/XinxingZh/article/details/155854415?fromshare=blogdetail&sharetype=blogdetail&sharerId=155854415&sharerefer=PC&sharesource=XinxingZh&sharefrom=from_link)

若用 L 命名线性表,则其一般表示为

式中唯一的“第一个”数据元素,又称表头元素

唯一的“最后一个”数据元素,又称表尾元素

除第一个元素外,每个元素有且仅有一个直接前驱;

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

注意线性表是逻辑概念,表示元素之间一对一的相邻关系,只要是这种逻辑结构的都是线性表,和实际存储位置没有任何关系,不一定非要连续挨着存储。

实际上线性表有两种实现,顺序存储叫顺序表,链式存储叫链表。后面会再详细展开介绍,这里要注意这几种表的关系,分别是什么方面的概念。

2.线性表的特点

1.表中元素的个数有限

2.表中元素具有逻辑上的顺序性,表中元素有其先后次序;

3.表中元素都是数据元素,每个元素都是单个元素

4.表中元素的数据类型都相同,这意味着每个元素占有相同大小的存储空间。

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

根据上述概念和特点,判断以下几种情况是不是线性表:

(1)所有整数组成的序列。

答案:不是线性表,因为个数无穷。

(2)由 n 个实数组成的集合。

答案:不是线性表,因为元素没有先后次序。

(3)由100个字符组成的序列。

答案:是线性表,数量有限,元素数据类型都相同,每个元素是单个元素,也有先后次序。

3.线性表的基本操作

因为不同的表如顺序表、链表,其实际代码会有所不同,所以这里先只写出操作名及操作的描述。

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

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

3.按值查找 LocateElem(L, e):在表 L 中查找具有给定关键字值的元素。(这里的 Elem 和 e 都是来自element)。

4.按位查找 GetElem(L, i):获取表 L 中第 i 个位置的元素的值。

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

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

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

8.判空 Empty(L):若 L 为空表,则返回 true ,否则返回 false 。

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

“&”叫取地址符,这里不太理解的可以先简单理解为:函数的参数加上这个&就表示可以改变这个参数所在的实际的存储位置上的值,不是临时的,是彻底真改了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/20 20:03:02

第10000辆尊界S800量产下线,车主为李连杰

12月16日,尊界S800第10000台下线仪式在安徽合肥尊界超级工厂举行。活动现场还举行了尊界S800车主交付仪式,项兴初、余承东向车主代表交付新车钥匙,将现场气氛推向高潮。这第10000辆尊界S800的车主,是功夫巨星李连杰。作为江汽集团…

作者头像 李华
网站建设 2026/1/22 4:37:30

《社会机器学习》

《社会机器学习》目录 第一章绪论、第二章机器学习理论已略 第3章 社会聚类学习 3.1 问题背景3.2 社会网络特征结构发现3.3 社会网络的超图模型 3.3.1 超图的基本概念3.3.2 模型要素与特征 3.4 HCH 方法 3.4.1 HCH 方法的基本思想3.4.2 超边的相似性3.4.3 超边的融合3.4.4 划分…

作者头像 李华
网站建设 2025/12/20 19:53:29

自然改写不标红:6个AI论文工具排名,助力学术降重无忧

开头总结工具对比(技能4) �� 为帮助学生们快速选出最适合的AI论文工具,我从处理速度、降重效果和核心优势三个维度,对比了6款热门网站,数据基于实际使用案例:工具名称处理速度降重幅…

作者头像 李华
网站建设 2025/12/24 9:41:07

学Simulink--协作机器人场景实例:基于Simulink的协作机器人冗余自由度优化仿真

目录 手把手教你学Simulink--协作机器人场景实例:基于Simulink的协作机器人冗余自由度优化仿真 一、引言:为什么做冗余自由度优化?——协作机器人的“灵活性与效率倍增器” 挑战: 二、核心原理:冗余自由度优化的“数学框架与算法” 1. 冗余自由度定义与逆运动学 2. 优…

作者头像 李华
网站建设 2026/1/22 4:51:34

从零开始掌握大数据建模:Hadoop与Spark实战解析

从零开始掌握大数据建模:Hadoop与Spark实战解析 副标题:从基础概念到项目实战,构建可落地的大数据解决方案 摘要/引言 在大数据时代,海量、多样、高速、价值密度低(4V)的数据集已成为企业的核心资产。传…

作者头像 李华