首页 > 其他分享 >数据结构之线性表

数据结构之线性表

时间:2023-07-14 15:48:35浏览次数:26  
标签:线性表 ai 元素 操作 基本操作 数据结构

线性表的定义和操作

线性表的定义

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

几个概念:

      相同是指每个数据元素所占空间一样大。

     ai 是线性表中的 “第i个“ 元素线性表中的位序,位序从1开始,数组下标从0开始,位序比下标多1。

     ai 是表头元素;an 是表尾元素。

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

 

线性表的基本操作

    InitList(&L): 初始化表。构造一个空的线性表L,分配内存空间。

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

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

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

    LocateElem(L,e): 按值查找操作。在表L中查找具有给定关键字值的元素。

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

其他常用操作:

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

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

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

Tips:

   1,对数据的操作(记忆思路)---创销,增删改查

   2,C语言函数的定义--- <返回值类型> 函数名 (<参数1类型> 参数1,<参数2类型> 参数2,.......)

   3,实际开发中,可根据实际需求定义其他的基本操作

   4,函数名和参数的形式,命名都可改变,命名要有可读性

   5,什么时候要传入引用 “ & “ ---对参数的修改结果需要 “ 带回来 ”

为什么要实现对数据结构的基本操作?

  1,团队合作编程,你定义的数据结构要让别人能够很方便的使用(封装)

  2,将常用的操作/运算封装成函数,避免重复工作,降低出错风险

 

标签:线性表,ai,元素,操作,基本操作,数据结构
From: https://www.cnblogs.com/romantichuaner/p/17553816.html

相关文章

  • 严蔚敏 数据结构 配套教材 PDF
    目录严蔚敏数据结构配套教材PDF下载地址:严蔚敏数据结构配套教材PDF配套教材包括:严蔚敏《数据结构题集》(C语言版).pdf严蔚敏《数据结构》(C语言版)配套题库【名校考研真题+章节题库+模拟试题】严蔚敏《数据结构》(C语言版)笔记和习题(含考研真题)详解严蔚敏《数据结构》(C语言版......
  • Redis底层数据结构
    Redis是什么?Redis是一个键值数据库,以“快”著称Redis是为什么这么快?我们都知道Redis很快,它在接收到一个键值对数据后,能以微妙级别的速度找到数据并快速完成操作。数据库这么多,为啥Redis能有这么突出的表现呢?一方面,这是因为它是内存数据库,所有操作都在内存上完成,内存的访问速......
  • 线性相关性、线性表示、秩
    @目录一、线性相关性1.定义2.线性相关性的运算3.延长和缩短4.个数和维数5.整体和部分6.与线性表示的联系7.与秩、方程组、行列式的联系8.与矩阵的联系(1)\(AB=0\)(零向量)(2)左乘矩阵二、线性表示1.定义2.线性表示的运算3.整体和部分4.传递性(1)线性表示的传递性(2)向量组等价的......
  • 数据结构练习笔记——单链表的创建
    单链表的创建【问题描述】从键盘终端输入若干整数,为其创建带头节点的单链表存储结构【样例输入】51223323345【样例输出】1223323345【样例说明】第一行的数为单链表中元素的个数,后面为各元素的值#include<iostream>usingnamespacestd;structLNode{......
  • 数据结构之数据结构要学什么,基本概念,三要素
       我从大二上学期的时候学了数据结构,但是当时对数据结构的重要性并不太重视,直到在升大三的暑假,才意识到数据结构对以后学语言和找工作方面的重要性,所以亡羊补牢,为时未晚,尝试着结合b站上王道考研数据结构课,来记录自己对知识和代码的理解。  数据结构学习的内容可以理解......
  • 数据结构--查找
    数据结构--查找7.1查找的概念在哪里找?---查找表查找表是由同一类型的数据元素(或记录)构成的集合.由于"集合"中的数据元素之间存在着松散的关系,因此查找表是一种灵便的结构什么是查找?-----根据给定的某个值,在查找表中确定一个关键字等于给定值的数据元素或(记录).......
  • 数据结构学习5
    17、顺序查找①查找的基本概念基本概念查找表:由同一类型的数据元素(或记录)构成的集合查找:查询特定元素是否在表中查找成功:若表中存在特定元素,称查找成功,应输出该记录查找不成功:表中不存在给定值的元素,称查找不成功静态查找:只查找,不改变集合内的数据元素动态查找:......
  • 数据结构学习6
    21、哈希查找表①哈希表的基本概念哈希表的概念哈希表:即散列存储结构散列存储的基本思想:建立关键码与存储位置对应关系,或者说由关键码的值决定数据的存储的地址。优点:查找速度极快,查找效率与元素个数无关例1:若将学生信息按如下方式存入计算机,如:将2001011810201的......
  • 数据结构学习3
    9、栈的链式存储结构及实现定义栈的链式存储结构称为链栈,是运算受限的单链表。其插入和删除操作只能在表头位置上进行。因此,链栈没有必要像单链表那样附加头结点,栈顶指针top就是链表的头指针。对于链栈来说:1.不需要头结点2.不存在栈满的情况3.top=NULL,为空栈示意图:链......
  • redis数据结构编码优化(1)
    redis数据结构内部编码优化(1)Redis可以通过内部编码规则来节省空间。Redis为每种数据类型提供了两种内部编码方式。以散列类型为例,散列类型是通过散列表实现的,这样就可以实现o(1)时间复杂度的查找、赋值操作,然而当键中元素很少的时候,o(1)的操作并不会比o(n)有明显的性能提高,所以这......