顺序表的定义

本文详细介绍了顺序表的概念,包括顺序存储的定义和逻辑关系。通过静态和动态分配方式实现顺序表,并分析了静态分配时数组存满的问题。讨论了动态分配中的malloc函数,以及顺序表的随机访问、存储密度高、拓展容量不便和插入删除操作不方便等特性。
摘要由CSDN通过智能技术生成

前言

在上一篇文章中,我们学习了线性表的定义和基本操作。线性是在我们人类的认知里抽象成线性,但是如何在计算机中实现呢?那么今天这篇文章就是讲解线性表的第一种在计算机中实现的方法——顺序表(顺序存储)

顺序表的定义

顺序存储的方式实现线性表。

顺序存储

把逻辑上相邻的元素存储在物理位置也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

通俗理解

逻辑上相邻的元素:比如我们创建一个数组,数组中存放了[1,3 , 4, 7],那么在逻辑上来看1和3就是相邻的,3和4就是相邻的。

顺序存储就是逻辑上相邻的话,我们就让他在内存中存放的地址相邻。比如1和3在逻辑上是相邻的,那么我们就让1存储在1000的位置,3存储在1004的位置(这里一个元素占4个位置)换言之,逻辑上的前后关系,通过在内存中的顺序的存储来体现。从下面两张图也能很清晰直观的理解。

线性表L的逻辑结构

image-20220704161136004

线性表L在内存中的存储结构

image-20220704161148015

由于在上篇文章中,我们了解到线性表中的数据元素的数据类型都是相同的。因此假设 a 1 a_1 a1的位置是n那么 a 2 a_2 a2的位置就是 n + 1 × 数 据 元 素 的 大 小 n+1×数据元素的大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值