数据结构 - 线性表的定义和基本操作

一、定义

线性表是具有相同特性的数据元素的一个有限序列。
线性表:

  • 由n(n≥0)个数据元素(结点)组成的有限序列。
  • 线性表中数据元素是一对一的关系,每个结点最多有一个直接前驱,和一个直接后继

在这里插入图片描述

二、线性表的基本操作

在这里插入图片描述
1、初始化

  • InitList(&L)
  • 构建一个空的线性表

2、销毁

  • DestroyList(&L)
  • 初始条件:线性表L已经存在
  • 操作结果:销毁线性表L

3、清除

  • ClearList(&L)
  • 初始条件:线性表L已经存在
  • 操作结果:将线性表L重置为空表

4、判断是否为空

  • ListEmpty(L)
  • 初始条件:线性表L已经存在
  • 操作结果:若线性表L为空表,则返回True;否则返回False

5、判断线性表长度

  • ListLength(L)
  • 初始条件:线性表L已经存在
  • 操作结果:返回线性表L中的数据元素个数

6、获取线性表中的某元素

  • GetElem(L,i,&e)
  • 初始条件:线性表L已经存在,1<=i<=ListLength(L)
  • 操作结果:用e返回线性表L中第i个数据元素的值

7、定位线性表中的某元素

  • GetElem(L,e,compare())
  • 初始条件:线性表L已经存在,compare()是数据元素判定函数
  • 操作结果:返回L中第1个与e满足compare()的数据元素的位序。若这样的数据元素不存在则返回值为0

8、求一个元素的前驱

  • PriorElem(L,cur_e,&pre_e)
  • 初始条件:线性表L已经存在
  • 操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败。

9、求一个元素的后继

  • NextElem(L,cur_e,&next_e)
  • 初始条件:线性表L已经存在
  • 操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败。

10、在线性表中插入一个元素

  • ListInsert(&L,i,e)
  • 初始条件:线性表L已经存在,1<=i<=ListLength(L)+1
  • 操作结果:在L的第i个位置之前插入新的数据元素e,L的长度加一

11、在线性表中插入一个元素

  • ListInsert(&L,i,e)
  • 初始条件:线性表L已经存在,1<=i<=ListLength(L)+1
  • 操作结果:在L的第i个位置之前插入新的数据元素e,L的长度加一

12、在线性表中删除一个元素

  • ListDelete(&L,i,&e)
  • 初始条件:线性表L已经存在,1<=i<=ListLength(L)
  • 操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减一

13、遍历线性表

  • ListTraverse(&L,visited())
  • 初始条件:线性表L已经存在
  • 操作结果:依次对线性表中每个元素调用visited()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/86097.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无涯教程-PHP - 条件判断

if... elseif ... else和switch语句用于根据不同条件进行判断。 您可以在代码中使用条件语句来做出决定&#xff0c; PHP支持以下三个决策语句- if ... else语句 - 如果要在条件为真时执行&#xff0c;而在条件不为真时执行另一个代码&#xff0c;请使用此语句 els…

江西萍乡能源石油化工阀门三维扫描3d测量抄数建模-CASAIM中科广电

长期以来&#xff0c;石油天然气、石油石化、发电和管道输送行业在环保、健康和安全保障方面一直承受着巨大的压力&#xff0c;他们必须确保相关规程在各项作业中得到全面贯彻。 阀门作为流体管道运输中的组成部分&#xff0c;其装配密封度是保证流体运输安全的重要一环&#…

Git如何操作本地分支仓库?

基本使用TortoiseGit 操作本地仓库(分支) 分支的概念 几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来&#xff0c;避免影响开发主线。多线程开发,可以同时开启多个任务的开发&#xff0c;多个任务之间互不影响。 为何要…

Lazada为什么成为卖家新宠?趋势如何?

其实跨境销售是网络发达以来,很多国内的商家都在突破的点。只有真正打开自己的市场,这样才可以让销售能够直线上升。如果永远在国内进行销售,那么不仅仅会增加难度,并且也很有可能无法打开自己的销售思路,导致最终在时代的潮流中没落。那么如果想要进行跨境销售,渠道就是相当重…

ASR(自动语音识别)任务中的LLM(大语言模型)

一、LLM大语言模型的特点 二、大语言模型在ASR任务中的应用 浅度融合 浅层融合指的是LLM本身并没有和音频信息进行直接计算。其仅对ASR模型输出的文本结果进行重打分或者质量评估。 深度融合 LLM与ASR模型进行深度结合&#xff0c;统一语音和文本的编码空间或者直接利用ASR…

springboot+docker实现微服务的小例子

【任务】&#xff1a; 创建一个服务A&#xff1a;service_hello 创建一个服务B&#xff1a;service_name service_name负责提供一个api接口返回一个name字符串。 service_hello负责从这个接口获取name字符串&#xff0c;然后进行一个字符串拼接&#xff0c;在后面加一个hello&…

Stable Diffusion 系列教程 | 文生图 - 提示词

目录 1.提示词 基本的规则 2.提示词分类 2.1内容性提示词 2.2 画风艺术派提示词 2.3 画幅视角 2.4画质提示词 3 反向提示词 3.1 内容性反向提示词 3.2 画质性反向提示词 4 实例分析 5 权重 5.1 方法一 5.2 方法二 6.参数 7. 学习and 技巧 7.1 辅助写提示词的网…

ARL资产侦察灯塔 指纹增强

项目&#xff1a;https://github.com/loecho-sec/ARL-Finger-ADD 下载项目后运行 python3 ARl-Finger-ADD.py https://你的vpsIP:5003/ admin password该项目中的finger.json可以自己找到其他的指纹完善&#xff0c;然后运行脚本添加指纹。

ChatGPT应用于高职教育的四大潜在风险

目前&#xff0c;ChatGPT还是一种仍未成熟的技术&#xff0c;当其介入高职教育生态后&#xff0c;高职院校师生在享受ChatGPT带来的便利的同时&#xff0c;也应该明白ChatGPT引发的风险也会随之进入高职教育领域&#xff0c;如存在知识信息、伦理意识与学生主体方面的风险与挑战…

EasyExcel+POI制作带有有效性校验及下拉联动的Excel模板

文章目录 1.背景2.实现功能的Excel特性2.1.特性介绍2.2.下拉框联动2.3.单元格自动匹配Id2.4.错误提示 3.代码实现3.1.基础流程代码3.2.名称管理器配置3.3.有效性配置3.4.函数填充3.5.其他补充 4.总结 1.背景 最近在做一个CRM系统的人员销售目标导入的相关需求&#xff0c;需要…

K8s学习笔记1

一、课程介绍&#xff1a; 1、背景&#xff1a; 1&#xff09;从基础设备主机化向容器化转换。 2&#xff09;从人肉式运维工作模式向自动化运维模式转换。 3&#xff09;从自动化运维体系向全体系智能化运维模式转换。 2、课程目标人群: 1&#xff09;掌握Linux操作系统基…

C语言:选择+编程(每日一练Day6)

目录 ​编辑选择题&#xff1a; 题一&#xff1a; 题二&#xff1a; 题三&#xff1a; 题四&#xff1a; 题五&#xff1a; 编程题&#xff1a; 题一&#xff1a;至少是其他数字两倍的最大数 思路一&#xff1a; 思路二&#xff1a; 题二&#xff1a;两个数组的交集…

问道管理:数字经济概念走势强劲,竞业达、久其软件等涨停,观想科技等大涨

信创、智慧政务等数字经济概念22日盘中走势微弱&#xff0c;截至发稿&#xff0c;观想科技、慧博云通涨超15%&#xff0c;竞业达、中远海科、久其软件等涨停&#xff0c;云赛智联、延华智能、汇纳科技涨约9%&#xff0c;天玑科技、安硕信息、思特奇、零点稀有涨逾7%。 音讯面上…

Linux后门大全-xinetd后门(二)

环境 靶机&#xff1a;centos7.6 攻击机&#xff1a;Linux 使用docker搭建靶机环境&#xff0c;当然也可以不使用docker&#xff0c;直接跳过创建容器的步骤即可 创建容器 #创建名为backdoorT4的特权容器&#xff0c;并使用/usr/sbin/init&#xff0c;因为容器默认不开启sy…

Django 简易PACS读片系统

1、Django中写一个后端接口&#xff0c;给HTML提供dicom文件接口的方式 1、首先创建django项目 1、下载安装跨域的包 pip3 install django-cors-headers2、使用pycharm创建一个Django项目 3、点击创建在另一个窗口&#xff0c;这个都无所谓&#xff0c;怎么都行&#xff0c;…

基于ECharts+flask的爬虫可视化

项目效果。 本案例基于python的flask框架&#xff0c;通过爬虫程序将数据存储在csv文件中&#xff0c;在项目运行时会通过render_template映射出对应的页面&#xff0c;并且触发一个函数&#xff0c;该函数会读取csv文件的数据将之交给echarts渲染 &#xff0c;echarts将之渲染…

【Linux】数据链路层:以太网协议

约束不等于压迫&#xff0c;冷静和理性不等于冷淡和麻木。 文章目录 一、以太网帧 和 局域网转发数据包1.局域网转发的原理&#xff08;基于以太网协议&#xff09;2.以太网MTU与MAC地址 二、局域网中的数据碰撞1.如何解决局域网中的数据碰撞&#xff1f;&#xff08;碰撞检测和…

韦东山lcd驱动

RGB 接口的 TFT-LCD 驱动 芯片集成了显存&#xff08;ddr、SDRM&#xff09;和控制器 一个像素点的颜色使用 24位表示&#xff0c;这样的话硬件对应数据引脚有24个 LCD硬件模型 RGB 传输数据 HSYNC 行同步 VSYNC 帧同步 DE 使能有效 declock 移动一个像素&#xff08;频率…

Ribbon:自定义负载均衡

自定义负载均衡算法 package com.kuang.myconfig;import com.netflix.client.config.IClientConfig; import com.netflix.loadbalancer.AbstractLoadBalancerRule; import com.netflix.loadbalancer.ILoadBalancer; import com.netflix.loadbalancer.Server;import java.util.…

分类预测 | MATLAB实现SCNGO-CNN-LSTM-Attention数据分类预测

分类预测 | MATLAB实现SCNGO-CNN-LSTM-Attention数据分类预测 目录 分类预测 | MATLAB实现SCNGO-CNN-LSTM-Attention数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.SCNGO-CNN-LSTM-Attention数据分类预测程序&#xff0c;改进算法&#xff0c;融合正余弦和…