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

文章目录


前言

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

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


线性表的定义

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

总结

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

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

咱们下期再见~

相关推荐
likexuec12 分钟前
数据结构(2)
数据结构
D e re k ZH2 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶3 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing033 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
雪落漂泊3 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
波力海苔夹心脆6754 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
不会算法的笨小孩5 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
Hhy_11077 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
starzy19907 小时前
深入理解Scala函数定义:从方法到函数的类型跨越
开发语言·scala
starzy19907 小时前
深入理解Scala递归函数:从栈溢出到尾调用优化
开发语言·scala