数据结构(六)——线性表的顺序实现

🏠个人主页:尘觉主页

🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉

在csdn获奖荣誉: 🏆csdn城市之星2名

⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓csdn2023年后端赛道第第七

⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓csdn2023年长沙赛道第一

⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓csdn2023年大二赛道第二

⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓Java全栈群星计划top前5

⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🤗 端午大礼包获得者

⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🥰阿里云专家博主

⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 😉亚马逊DyamoDB结营

获得国家荣誉3项省级荣誉4项以及多项校院级

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰

如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊

文章目录

数据结构(六)------线性表的顺序实现

线性表的存储结构

在计算机中线性表有两种存储结构分别是顺序存储结构和链式存储结构。

线性表的顺序表示(又称顺序存储结构或顺序映象)

顺序存储定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。

线性表的顺序存储结构是指用一段地址连续的存储单元依次存储线性表的数据元素。

例如:线性表(1,2,3,4,5,6)

线性表的第1个数据元素a1的存储位置称为线性表的起始位置或基地址.

顺序存储结构的寻址公式

计算地址只算一次与处理数据的规模无关数量级是O(1)这种运算叫随机存取。

数组长度与线性表长度

  • 数组长度,线性表最多可容纳数据元素的个数
  • 线性表长度(length):当前数据元素个数

一辆公交车最多容纳23人(数组长度/线性表的最大存储容量),但现在里面坐着8(线性表中当前元素个数)个数。

由于顺序表中的元素要求地址连续、依次存放、随机存取、类型相同,高级程序设计语言当中可以用一维数组来实现

一维数组的定义方式:

  • 类型说明符 数组名[常量表达式]
  • 说明:常量表达式中可以包含常量和符号常量(宏命名),不能包含变量。即C语言中不允许对数组的大小作动态定义。
  • 线性表经常进行插入和删除的操作长度可变而C中数组的长度是不可变的。
用一个额外的变量表示线性表的长度

这里,我们就发现描述顺序存储结构芾要三个属性:

  • 存储空间的起始位置:数组daa,它的存储位置就是存储空间的存储位置。
  • 线性表的最大存储容量:数组长度
  • Maxsize线性表的当前长度: length


只要找到基地址就可以随机存取但说好的数组呢不着急下面来解答? 只要找到基地址就可以随机存取但说好的数组呢不着急下面来解答? 只要找到基地址就可以随机存取但说好的数组呢不着急下面来解答?

ElemType是根据实际问题,你需要什么类型的数组就定义成什么,一般是根据问题定义一个结构体或者是 typedef char ElemType

数组的定义

数组名其实就是首元素的地址所以也可以直接定义一个指针。数组的大小用相应的函数来动态分配内存

用结构体变量名.成员变量名对成员访问;指针:SqList *p=&L;p->data=...;

  1. malloc()函数是在程序运行时分配内存的重要工具接受一个参数:所需的内存字节数但并不会为其赋名.然而,但他确实返回了动态分配内存块的首地址.因此可以把该地址赋给一个指针变量,并使用指针访问这块内存注意要强制类型转换(类型说明符 * )malloc(size);

    如向内存要100个int(类型说明符 * )malloc(100*sizeof(int));

  2. sizeof(x)计算变量/数据类型x所占据的字节数

  3. free§释放指针p所指变量的存储空间,即彻底删除一个变量需要加载头文件<stdlib.h>

C++内容

😁热门专栏推荐
想学习vue的可以看看这个

java基础合集

数据库合集

redis合集

nginx合集

linux合集

手写机制

微服务组件

spring_尘觉

springMVC

mybits

等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

相关推荐
AC使者几秒前
#B1630. 数字走向4
算法
冠位观测者4 分钟前
【Leetcode 每日一题】2545. 根据第 K 场考试的分数排序
数据结构·算法·leetcode
古希腊掌管学习的神1 小时前
[搜广推]王树森推荐系统笔记——曝光过滤 & Bloom Filter
算法·推荐算法
qystca1 小时前
洛谷 P1706 全排列问题 C语言
算法
浊酒南街1 小时前
决策树(理论知识1)
算法·决策树·机器学习
就爱学编程1 小时前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
oneouto1 小时前
selenium学习笔记(二)
笔记·学习·selenium
学术头条1 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
sealaugh321 小时前
aws(学习笔记第十九课) 使用ECS和Fargate进行容器开发
笔记·学习·aws
Schwertlilien2 小时前
图像处理-Ch4-频率域处理
算法