线性表是一种逻辑结构,它在计算机中是如何存储的呢?有两种类型:顺序存储结构和链式存储结构,接下来一起看看顺序存储结构吧!!
1.定义:用一段地址连续的存储单元存储线性表中的元素
2.顺序存储结构利用一维数组实现,为什么呢?
因为线性表中的数据元素的类型相同,一维数组本来就是用来存储一组具有相同数据类型的元素的,因此线性表的顺序存储结构就利用一维数组实现!!!
3.描述顺序存储结构
#define MAXSIZE 50 //定义存储空间的初始分配量
typedef int ElemType //以后想定义int类型的变量就可以用ElemType代替
typedef struct
{
ElemType data[MAXSIZE];
int length;
}
说明:
(1)data表示数组的首地址,MAXSIZE表示数组的最大容量,
(2)length表示数组当前的长度(因为你给数组定义了最大容量,但这些容量不一定会全部用,所以应该知道当前数组的长度)
总结:顺序存储结构描述的三要素:data,MAXSIZE,length
4.区分:线性表长度和数组长度
线性表长度是线性表中所含元素的个数(动态变化)
数组长度是数组存放线性表的存储空间的长度(一般不变或者是用malloc函数动态分配)
数组长度>=线性表长度
5.线性表中元素的序号和数组下标之间的关系
线性表中的元素从1开始
数组下标从0开始
第ai个数据元素对应数组下标为i-1
6.顺序存储结构地址的计算方法
地址:内存单元的编号
不管是什么类型得的数据元素,它在内存中都占有一定的存储单元空间,由于类型不同,所占的存储单元大小也不用,假设占用s个存储单元,LOC()为取位置函数,对第i-1个元素取位置LOC(ai-1)然后再加上s得到LOC(ai)
由此可知如果已知存放线性表的数组起始地址就可以轻松的获取到线性表中的任意元素的地址
LOC(ai)=LOC(a1)+(n-1)*s
7.顺序存储结构的读取时间复杂度O(1),它具有随机存取的特点,当需要大量的查找工作时,采用顺序表

线性表的顺序存储结构详解相关推荐

  1. c语言线性表顺序存储结构详解

    1. 什么是顺序存储结构? 用一段地址连续的存储单元依次存储线性表的数据元素. 2. //线性表的顺序存储结构// #include<stdio.h> #include<stdlib ...

  2. 数据结构和算法:(3)3.1线性表的顺序存储结构

    -----------------------1.线性表基础操作------------------------ 线性表:(List)由零个或多个数据元素组成的有限序列. 首先他是一个序列,元素之间是 ...

  3. C和C++线性表的顺序存储结构

    C和C++线性表的顺序存储结构 基本概念 设计与实现 优点和缺点 基本概念 设计与实现 插入元素算法 判断线性表是否合法 判断插入位置是否合法 把最后一个元素到插入位置的元素后移一个位置 将新元素插入 ...

  4. 《数据结构》c语言版学习笔记——线性表的顺序存储结构

    线性表的顺序存储结构 第一章 线性表的顺序存储结构 文章目录 线性表的顺序存储结构 前言 一.顺序存储结构的建立 1.条件 2.代码 二.顺序存储结构的获得元素 1.条件 2.代码 三.顺序存储结构的 ...

  5. 线性表的顺序存储结构之顺序表类的实现_Java

    在上一篇博文--线性表接口的实现_Java中,我们实现了线性表的接口,今天让我们来实现线性表的顺序存储结构--顺序表类. 首先让我们来看下顺序表的定义: 线性表的顺序存储是用一组连续的内存单元依次存放 ...

  6. 数据结构开发(3):线性表的顺序存储结构

    0.目录 1.线性表的本质和操作 2.线性表的顺序存储结构 3.顺序存储结构的抽象实现和具体实现 3.1 SeqList 3.2 StaticList 和 DynamicList 4.顺序存储线性表的 ...

  7. 线性表之顺序存储结构相关算法学习

    作为一名准备干一辈子的程序员,学习算法还是很有必要的.所以从基础开始了.学习教材 是大话数据结构. 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素.代码 参照教材 采用c ...

  8. 线性表:2.线性表的顺序存储结构--顺序表及C语言实现

    逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为 线性表的顺序存储结构 . 也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中, ...

  9. 数据结构之线性表之顺序存储结构(3)

    1 前言 经过前两张的理论基础,我相信大家都能简单的明白了数据结构和算法一些常用的概念了,从今天开始我们开始学习数据结构中线性表,一起叩响数据结构的大门. 2 详述 线性表(List):零个或者多个数 ...

最新文章

  1. 计算机网络总结之计算机概述
  2. 线性代数带参数的线性方程组的求法示例详解
  3. mysql首次_mysql首次登陆任务
  4. 炸!自动驾驶界又添利器!
  5. 如何确定autosar的版本_从工程师的角度看AUTOSAR
  6. 计算机ws2_32dll丢失,电脑显示计算机中丢失ws2-32.dll,怎么办
  7. MapReduce读取数据库操作
  8. Python-Scrapy 获取历史双色球开奖号码
  9. 微信小程序 首次进入加载引导页
  10. 5G NR 系统消息
  11. 召回率(Recall)
  12. 关于android的广告词,关于android:随心译无广告的专属实时翻译神器
  13. 第十四章 齐桓公广开门路招贤才 卫宁戚饭牛而歌得重用
  14. Cadence教程4——环形振荡器
  15. ICCV2019(Segmentation):ShelfNet-论文解读《ShelfNet for Fast Semantic Segmentation》
  16. 软著怎么申请?一篇文章教会你!
  17. 查找字幕资源的网址。射手网
  18. 谈谈对于百度春晚战事的看法
  19. vue3 Composition ApI总结
  20. 围棋博弈程序的实现与思考(5)——提子算法

热门文章

  1. 20.时钟抖动(jitter)和时钟偏移(skew)的概念?
  2. 全国专业技术人员计算机应用能力考试
  3. mysql5.19安装教程_MySQL5.5.19安装图解
  4. 【超详细】支持向量机(SVM)数学推导
  5. nodejs+vue+java新鲜水果门店在线商城销售系统python flask django
  6. uglifyjs使用
  7. python图像识别车票_警惕啊,不要随便发车票照片了,用Python可以算出了你的身份证号码!...
  8. 华为手机取消夜间模式方法分享
  9. 轨道交通系统的组成与构造详细资料阐述
  10. 什么是策略模式(Strategy)?