前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【数据结构】线性表的定义及基本操作

【数据结构】线性表的定义及基本操作

作者头像
颜颜yan_
发布于 2023-10-16 08:42:50
发布于 2023-10-16 08:42:50
2730
举报

前言

数据结构的三要素是逻辑结构、数据的运算、存储结构(物理结构),存储结构不同,运算的实现方式也不同。 本次文章包括线性表的定义和基本操作,其中线性表的定义属于三要素中的逻辑结构,基本操作属于三要素中的运算。


线性表的定义

线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则一般表示为L=(a1,a2,…ai,ai+1,…,an)。

需要理解的重要概念有表长、空表、表头、表尾、前驱、后继、位序,“已经放入思维导图中”👇

注意:位序从1开始,数组下标从0开始

线性表的基本操作

基本操作

  1. InitList (&L):初始化表。构造一个空的线性表L,分配内存空间。
  2. DestroyList (&L):销毁操作。销毁线性表,并释放线性表L所占用的内存空间。
  3. ListInsert (&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。
  4. ListDelete (&Li,&e):删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值。
  5. LocateElem (L,e):按值查找操作。在表L中查找具有给定关键字值的元素。
  6. GetElem (L,i):按位查找操作。获取表L中第i个位置的元素的值。

其他常用操作

  1. Length (L):求表长。返回线性表L的长度,即L中数据元素的个数。
  2. PrintList (L):输出操作。按前后顺序输出线性表L的所有元素值。
  3. Empty (L):判空操作。若L为空表,则返回true,否则返回false 。

Tips: ①对数据的操作(记忆思路——创销、增删改查) ②C语言函数的定义——<返回值类型>函数名(<参数1类型>参数1,<参数2类型>参数2,) ③实际开发中,可根据实际需求定义其他的基本操作 ④函数名和参数的形式、命名都可改变 ⑤什么时候要传入引用“&”——对参数的修改结果需要“带回来 注意:命名要有可读性


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
推荐一款很好用的VSCode变量翻译插件
有次我跟前端朋友聊天,发现她对于变量命名很是纠结,很多时候不知道怎么命名好。这个我很擅长啊,我平时喜欢用翻译插件,来生成小驼峰命名的变量。先写一个中文作为注释,然后复制粘贴这个中文,然后按下快捷键就翻译成小驼峰了。下面我将为你介绍这块超级好用的VSCode翻译插件,希望你再也不用纠结变量如何命名了!
喵喵侠
2024/07/30
2.4K0
推荐一款很好用的VSCode变量翻译插件
【开发工具 idea】值得推荐的15款idea插件
对于一个猿来说,工欲善其事,必先利其器,一个好的开发工具就是程序员的左膀右臂,idea作为大部分java猿的开发工具,无疑是最好用的ide了。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。
lomtom
2021/10/27
2.9K0
【开发工具 idea】值得推荐的15款idea插件
我最钟意的几款idea插件
最强大的是可以支持根据Controller的mapping搜索,可以模糊也可以精确,点击后定位到Controller的方法
编程大道
2022/04/01
6700
我最钟意的几款idea插件
12款神级 idea 插件,解放你的双手!让你代码飞起来!
我之所以把lombok放在整篇文章的第一个介绍,是因为它真的可以帮我少写很多代码,特别是entity、DTO、VO、BO中的。
灬沙师弟
2022/09/22
10.7K0
IntelliJ Idea 常用12款插件(提高开发效率),附优秀主题插件[通俗易懂]
这款插件并不能直接提高你的开发效率,但是可以让你面对的IDE不再单调,当把背景设置成你自己心仪的的图片,
全栈程序员站长
2022/07/21
3.7K0
IntelliJ Idea 常用12款插件(提高开发效率),附优秀主题插件[通俗易懂]
爬虫+反爬虫+js代码混淆
那么笔者在这里,给大家分享在 Jetbrains Developer Tools 中,提高工作效率的插件:
李昂君
2022/01/04
5.9K0
爬虫+反爬虫+js代码混淆
这 12 款 IDEA 插件你用过几款?
搞 Java开发用什么软件,当然是神器idea了,那么,idea的插件对于你来说就是必不可少的了,不仅可以提高自己的编码效率,还可以减轻工作时的枯燥烦闷。接下来就来说说,我平时敲代码用的什么插件吧。
程序员白楠楠
2020/11/19
1.5K0
Python自学教程3-英语不好,变量如何命名
变量其实很简单,不过在使用过程中会遇到一些棘手的问题。 比如一个变量我之前已经用过了,现在我要定义一个类似的变量,该怎么办?
海明威
2022/08/24
4340
装了这 10 个 IDEA 神级插件,基本上一站式开发了!
作者:沉默王二 Java 程序员进阶之路:https://tobebetterjavaer.com
沉默王二
2022/11/18
1K0
装了这 10 个 IDEA 神级插件,基本上一站式开发了!
IDEA Intellij小技巧和插件
使用IDEA Intellij已有两年,在此罗列一下在实践中觉得能有效提升开发效率的一些小技巧和插件。  1. 重设移动键 方向键和Home/End键离基键太远,经常把手移过去其实很费时。所以建议重设到主键盘上。考虑到后面会提到的IdeaVim插件,所以最好使用类似Vim的方案。我个人的设定是:  Ctrl+H  ←  Ctrl+J  ↓  Ctrl+K  ↑  Ctrl+L  →  Ctrl+A  End (Vim中Shift+A是在行尾插入)  Ctrl+I  Home (Vim中Shift+I是在行首插入)  被冲掉的原本的快捷键可以设到Alt上(最常用的Ctrl+A全选和Ctrl+J Live Template)。当然你也可以把移动键设在Alt上,不过使用标准键盘时,左Ctrl可以用手掌来按(使用emacs的必备技能),非常方便。所以我个人喜欢把常用操作设到Ctrl上。  2. 好用的Select Word at Caret快捷键 在IDEA的Keymap中有Select Word at Caret这个动作,字面意思是“选中光标所在的单词”,默认快捷键是Ctrl+W。但事实上,这个动作的实际操作是选中更上一层的语法结构。例如,如果你在一个字符串的一个单词中,按一下Ctrl+W,会选中光标所在单词。再按一下,会选中整个字符串的内容,不包括引号。再按一下,会选中包括引号的字符串。再按一下,会选中整个表达式(如果表达式含有括号,会逐层选中)。再按一下,会选中整个语句块。再按一下,会选中整个方法。再按一下,会选中整个类。  3. Ace Jump插件 可以说Ace Jump和IdeaVim这两个插件是我使用了Intellij后再也不想用eclipse的最主要原因。Ace Jump是一种从emacs上借鉴过来的快速光标跳转方式,操作方式是:你用某个快捷键进入Ace Jump模式后,再按任一个键,当前屏幕中所有该字符都被打上一个字母标记,你只要按这个字母,光标就会跳转到这个字符上。这种跳转方式非常实用,你根本不用管当前光标在什么位置,眼睛只需要盯着需要跳转到的位置,最多三四下按键就能准确把光标定位,开始编辑。按道理这种功能非常容易实现,但偏偏到目前为止我没有在eclipse上找到类似插件。  安装与使用:  在Intellij的Setting -> Plugins -> Browse repositories中查找acejump,可以找到两个插件,AceJump和emacsIDEAs。AceJump是最纯正的Ace Jump插件,功能单一,也比较稳定,但我个人感觉没有emacsIDEAs好用。两者最大的差异是,Ace Jump是先按键调出跳转标记,再通过不同功能键(Ctrl,Shift,Alt等)配合书签按键追加额外功能(例如从当前位置选中文本至书签位置)。而emacsIDEAs是使用不同的快捷键进入不同的功能模式(例如跳转到字符,跳转到单词,选中到标签等)同时调出书签标记,然后再按书签按钮实现跳转。感觉emacsIDEAs的方式比较符合我的思维习惯。  如果选择了AceJump插件,重启Intellij后即可使用,默认快捷键是Ctrl+;(分号)。但我习惯将它重设到Alt+K。下面是使用AceJump的效果 
bear_fish
2018/09/19
2.7K0
IDEA Intellij小技巧和插件
工作五年多,idea插件推荐(一)
本来打算一次更新完的。。感觉还是太多了,后面再分享吧,先分享一部分 EasyCode MybatisCodeHelper 这玩意功能太离谱了,随便举几个 官网地址:https://brucege.co
程序员朱永胜
2023/09/26
7260
工作五年多,idea插件推荐(一)
有了这 12 款 IDEA 插件后,室友再也不叫我小白了
搞 Java 开发用什么软件,当然是神器idea了,那么,idea的插件对于你来说就是必不可少的了,不仅可以提高自己的编码效率,还可以减轻工作时的枯燥烦闷。接下来就来说说,作为一名小白,我在平时敲代码用的什么插件吧。
五分钟学算法
2020/11/17
7780
有了这 12 款 IDEA 插件后,室友再也不叫我小白了
介绍几个代码实际开发中很实用的工具
分别把下面的fileheader.customMade与fileheader.cursorMode,配置到你的配置里,进行个性化配置
itclanCoder
2020/10/28
1K0
介绍几个代码实际开发中很实用的工具
6款让你效率起飞的神级 idea 插件,解放双手!瞬间提速!
IDEA在JetBrains官方的全称是 IntelliJ IDEA,官方打造的是一款真正智能、集成开发环境(IDE);同时提供了功能丰富多样的高效插件。
程序视点
2024/03/26
1.7K0
6款让你效率起飞的神级 idea 插件,解放双手!瞬间提速!
JetBrains IDE与GitHub Copilot的绝妙结合,绝对不能错过的全网最详细图文教程!
在上一篇文章中,我们提到Stack Overflow公布的AI编程问卷调查报告。报告中指出,有超过70%的开发者已经或即将使用 AI工具编程。
程序视点
2024/03/01
8.9K0
JetBrains IDE与GitHub Copilot的绝妙结合,绝对不能错过的全网最详细图文教程!
极大提高国人开发效率超实用的 VS Code 插件
介绍下简单的使用过程,你可以在 VS Code 中搜索 Search/Translate Hero 然后点击安装,你也可以在这里进行下载:
wscats
2020/12/02
1.8K0
我只装迅速提升效率的 IntelliJ IDEA 插件
IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。
Java识堂
2019/05/24
3.3K0
我只装迅速提升效率的 IntelliJ IDEA 插件
IntelliJ IDEA不好用?那是因为没掌握这些技巧。
想要愉快的coding,一个好的IDE肯定少不了。而对于Java开发者来说,IntelliJ IDEA绝对是Java-IDE的首屈一指的选择(eclipse党还请绕我一命)。
Java3y
2020/03/03
3.3K0
idea插件
开发的项目一般都少不了日志系统,而我们在书写mysql语句的时候,参数的对应,往往有时候会忽略,mybatis自己控制的参数编译对应,个人感觉有点反人类,我们可以使用这个插件变成自己比较直观的对应~
槿泽
2022/11/28
7540
IntelliJ IDEA常用设置和好用插件,不定时更新 2021-08-12更新
可用的预定义文件模板变量: {PACKAGE_NAME} – 将在其中创建新类或接口的目标包的名称。 {PROJECT_NAME} – 当前项目的名称。 {FILE_NAME} – 将要创建的 PHP 文件的名称。 {NAME} – 您在创建文件的过程中,在 “新建文件” 对话框中指定的新文件的名称。 {USER} – 当前用户的登录名。 {DATE} – 当前系统日期。 {TIME} – 当前系统时间。 {YEAR} – 本年度。 {MONTH} – 本月。 {DAY} – 当月的当前日期。 {HOUR} – 当前时间 {MINUTE} – 当前分钟。 {PRODUCT_NAME} – 将在其中创建文件的 IDE 的名称。 {MONTH_NAME_SHORT} – 月份名称的前3个字母。示例:1月,2月等。 {MONTH_NAME_FULL} – 一个月的全名。示例:1月,2月等 IntelliJ IDEA 为 PHP 包括模板提供了一组附加变量,即可被包含在其他 PHP 文件模板中的可重用片段的模板。内置的 PHP 包含模板用于生成文件头和 PHPDoc 文档注释。以下变量在 PHP 包含模板中可用: {NAME} – 将为其生成 PHPDoc 注释的类,字段或函数(方法)的名称。 {NAMESPACE} – 类或字段命名空间的完全限定名(无斜杠)。 {CLASS_NAME} – 定义了生成 PHPDoc 注释的字段的类的名称。 {STATIC}- 如果要为其生成注释的函数 (方法) 或字段为静态(static),则获取静态值。否则计算结果为空字符串。 {TYPE_HINT}- 提示函数 (方法) 的返回值以生成注释。如果无法通过函数 (方法) 的静态分析检测到返回类型,则计算结果为 void。 {PARAM_DOC} – – 参数的文档注释。计算为一组 @param 类型名称的行。如果要为其生成注释的函数不包含任何参数,则该变量将计算为空内容。 {THROWS_DOC} – 异常的文档注释。计算结果为一组 @throws 类型的行。如果要为其生成注释的函数不抛出任何异常,则该变量将计算为空内容。 {DS}- 一个美元字符 {CARET} – 指出了在生成和添加评论后插入符号的位置。
全栈程序员站长
2022/08/30
3.4K0
IntelliJ IDEA常用设置和好用插件,不定时更新 2021-08-12更新
推荐阅读
相关推荐
推荐一款很好用的VSCode变量翻译插件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档