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

文章目录


前言

数据结构的三要素是逻辑结构、数据的运算、存储结构(物理结构),存储结构不同,运算的实现方式也不同。

本次文章包括线性表的定义和基本操作,其中线性表的定义属于三要素中的逻辑结构,基本操作属于三要素中的运算。


线性表的定义

线性表是具有相同数据类型的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,)
    ③实际开发中,可根据实际需求定义其他的基本操作
    ④函数名和参数的形式、命名都可改变
    ⑤什么时候要传入引用"&"------对参数的修改结果需要"带回来
    注意:命名要有可读性

总结

以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~

相关推荐
szarron5 小时前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
边境悍匪5 小时前
蜗牛学苑 Java 智能体学习 Day39|SpringAI 会话存储、Function‑Call 工具调用、MCP 思维导图复盘
java·开发语言·spring boot·学习·阿里云
万物智能信息科技5 小时前
RK3568 的多路显示移植—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
linux·开发语言·华为·开源·harmonyos
蓝悦无人机5 小时前
Qt Design Studio(QDS)4.8.2项目文件结构详解
开发语言·qt·qt creator·qds·项目文件结构·qtc
yxlalm6 小时前
4.java秒杀项目第四课-后端商品后台接口
java·开发语言
孙启超6 小时前
【AI开发之Rust】第 1 课:认识 Rust 与开发环境 —— 装好工具链,跑通第一个程序
开发语言·人工智能·后端·ai·rust·安全架构
君顾16 小时前
家政派单小程序源码开发实战:从零搭建到上线全流程指南
java·开发语言·家政派单
AgentMaster7 小时前
数据治理工具选型指南:一套可复用的四阶段决策框架
大数据·数据结构·人工智能·算法
我是唐青枫7 小时前
C#.NET PInvoke 深入解析:封送、内存布局与原生互操作实战
开发语言·c#·.net
程序猿编码7 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer