当前位置: 首页 > news >正文

【C 数据结构】线性表

文章目录

  • 【 1. 线性表 】
  • 【 2. 顺序存储结构、链式存储结构 】
  • 【 3. 前驱、后继 】

【 1. 线性表 】

  • 线性表,全名为线性存储结构,线性表结构存储的数据往往是可以依次排列的(不考虑数值大小顺序)。
    例如,存储类似 {1,3,5,7,9} 这样的数据时,各元素依次排列,每个元素的前面和后边有且仅有一个元素与之相邻(除首元素和尾元素),因此可以使用线性表存储。
  • 使用线性表存储的数据,要求数据类型必须一致(如同向数组中存储数据那样,)。也就是说,线性表存储的数据,要么全部都是整形,要么全部都是字符串。一半是整形,另一半是字符串的一组数据无法使用线性表存储。
  • 使用线性表存储数据的方式可以理解为 “把所有数据用一根线儿串起来,再存储到物理空间中”。
  • 例如,数据为 1,2,3,4,5
    在这里插入图片描述
  • 用 “一根线儿” 把它们按照顺序“串”起来,左侧是“串”起来的数据,右侧是空闲的物理空间。
    在这里插入图片描述
  • 把这 “一串儿” 数据放置到物理空间,可以选择以下两种方式:左侧是顺序存储结构,右侧是链式存储结构。
    在这里插入图片描述

【 2. 顺序存储结构、链式存储结构 】

  • 上图中我们可以看出,线性表按存储结构可细分为顺序存储结构和链式存储结构。:
    • 将数据依次存储在连续的整块物理空间中,这种存储结构称为顺序存储结构,简称 顺序表
    • 将数据分散的存储在物理空间中,通过一根线保存着它们之间的逻辑关系,这种存储结构称为链式存储结构,简称 链表

【 3. 前驱、后继 】

  • 数据结构中,一组数据中的每个个体被称为“数据元素”(简称 元素 )。
  • 某一元素的左侧相邻元素称为 直接前驱 ,位于此元素左侧的所有元素都统称为“前驱元素”;
  • 某一元素的右侧相邻元素称为 直接后继,位于此元素右侧的所有元素都统称为“后继元素”;
  • 以数据 1,2,3,4,5 中的元素 3 来说,它的直接前驱是 2 ,此元素的前驱元素有 2 个,分别是 1 和 2;同理,此元素的直接后继是 4 ,后继元素也有 2 个,分别是 4 和 5。如图 4 所示:
    在这里插入图片描述
http://www.lryc.cn/news/340797.html

相关文章:

  • C++初级----list(STL)
  • web安全学习笔记(9)
  • 【Python-基础】字符串合集
  • Scala之List
  • Springboot+Vue项目-基于Java+MySQL的在线视频教育平台系统(附源码+演示视频+LW)
  • Java IO流-字节流
  • 第十五届蓝桥杯复盘python大学A组——试题B 召唤数学精灵
  • 网络通信——常见结构及强联网游戏和弱联网游戏区别
  • 如何安装PyFluent
  • Qt 2 QMapQHashQVector类实例
  • 使用Git将文件夹上传到Github以及使用Git LFS上传大文件
  • 1.SCI各模块
  • 记录shell编程中$1,$@等符号的含义
  • 单链表的应用
  • 手机副业赚钱秘籍:让你的手机变成赚钱利器
  • (二十七)Flask之数据库连接池DBUtils库
  • FewShotPromptTemplate和SemanticSimilarityExampleSelector的学习
  • 【保姆级】2024年OnlyFans订阅指南
  • 深入理解JVM中的G1垃圾收集器原理、过程和参数配置
  • VUE3 + Elementui-Plus 之 树形组件el-tree 一键展开(收起);一键全选(不全选)
  • 【Godot4自学手册】第三十七节钥匙控制开门
  • GitHub repository - Pulse - Contributors - Network
  • RocketMQ 10 面试题FAQ
  • 【Spring进阶系列丨第十篇】基于注解的面向切面编程(AOP)详解
  • Leetcode 152. 乘积最大子数组和Leetcode 162. 寻找峰值
  • 项目实战之网络电话本之发送邮件名片和导出word版个人信息
  • 前端面试问题汇总 - HTTP篇
  • Java的IO流
  • Node.js 中的 RSA 加密、解密、签名与验证详解
  • vue+element作用域插槽