线性数据结构-数组

数组:线性数据结构(一维数组结构)
线性的数据结构强调存储和顺序
数组在内存存储空间上是连续的,并且长度固定不可变更

数组扩容
因为数组定长,当想往长度为8的数组中添加第九个元素时,操作系统会开辟一段长度为16的新的空间(操作系统会开辟一些提前量,多划一些空间),然后将旧数组的八个元素复制到新的数组中,并将新添加的元素,添加到新数组的第九个位置上,并且销毁就数组。
数组扩容影响性能,编程时尽量避免。可以在数组初始化时预估一个长度。
数组删除
在长度8的数组中删除第5个元素,不改变数组长度,从第六个元素开始向左移动一个单元,即数组删除

数组特性
1、存储在物理空间上是连续的
2、数组的长度是不可变的
3、数组的变量指向了数组第一个元素的位置

数组 a = {1,1,1,1,1}
a 指向了数组的第一个元素
a[2]访问第三个元素
方括号表示地址存储的偏移

数组的优点
1、查询性能好。

数组的缺点
1、因为空间必须是连续的,如果数组比较大,当系统的空间碎片较多时,容易存不下。(如果发生这种情况,操作系统会整理内存,消耗大影响性能)
2、因为数组长度是固定,所以数组的内容难以被添加和删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/19871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 c++ 里,让子类访问到父类的私有数据成员?答案之一:使用第三方友元类或友元函数

看 STL 库的代码时候,见有这种写法,感觉挺神奇的。故简化逻辑后,写个玩具验证一下。本来这是很别扭的做法。既然父类让数据成员私有了,还要让子类去调用,何苦呢?但看大师们的写法,果然 c 编译器…

LAMMPS - 分子动力学模拟器

本文翻译自:https://www.lammps.org/ 文章目录 一、关于 LAMMPS下载作者R&D 100 二、LAMMPS 亮点毛细血管中的血流 一、关于 LAMMPS 官网: https://www.lammps.org/ github :https://github.com/lammps/lammps LAMMPS 分子动力学模拟器…

上位机图像处理和嵌入式模块部署(f103 mcu定时器配置)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在mcu开发过程当中,有一种开发模式用的比较多,那就是中断while(1)。这里面的中断,又是以…

【mysql数据库】mycat中间件

MyCat 简介 Mycat 是数据库 中间件 。 1、 数据库中间件 中间件 是一类连接软件组件和应用的计算机软件, 以便于软件各部件之间的沟通 。 例子 Tomcat web 中间件 。 数据库 中间件 连接 java 应用程序和数据库 2、 为什么要用 Mycat ① Java 与数据库紧耦合 …

关于各种儿童竞赛的小讨论

大家好,我是阿赵。   在过去的一个周末,连续两天,我儿子都代表学校参加了小学组的竞赛,分别是GoC编程竞赛和小小科学家的化学竞赛。   我儿子今年4年级,在这读小学的4年里面,他加入过很多所谓的“校队”…

【Linux】操作系统之冯诺依曼体系

🎉博主首页: 有趣的中国人 🎉专栏首页: Linux 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 操作系统中 冯诺依曼体系 的相关内容。 如果看到最后您觉得这篇文…

数据仓库应该用什么方案——数据仓库实施方案概述

数据仓库的设计和实施是一个复杂的过程,通常需要根据具体的企业需求和资源来确定最佳的方案。以下是一个详细的数据仓库实施方案概述,但请注意,由于数据仓库的具体实现细节可能因技术栈、业务需求和数据源的不同而有所变化,因此我…

jsp实验19 File

三、源代码以及执行结果截图&#xff1a; readJSPFile.jsp <% page contentType"text/html" %> <% page pageEncoding "utf-8" %> <% page import"java.io.*"%> <style> #tom{ font-family:宋体;font-size:2…

基于Chisel语言的FPGA流水灯程序

目录 一、 内容概要二、 Chisel介绍三、 Chisel的使用四、 流水灯实现五、 心得体会六、 参考链接 一、 内容概要 Chisel介绍Chisel使用流程Chisel流水灯实操 二、 Chisel介绍 Chisel 是一种构建硬件描述语言&#xff08;HDL&#xff09;的高级编程语言&#xff0c;它允许硬…

盘点我们班的一些梗

六一儿童节马上就要到了&#xff0c;祝大家六一快乐哇&#xff01;今天就来盘点我们班的一些梗。 1.鲁滨逊一个&#xff0c;星期五两个 这个梗源自苏联拍的《鲁宾逊漂流记》&#xff0c;鲁滨逊对星期五说&#xff1a;“现在我们需要更多面包&#xff0c;因为我们有两个人。”…

指纹浏览器大全

具体请前往&#xff1a;国内外指纹浏览器大全

脚本编程游戏引擎的挑战与解决方案

哈喽呀&#xff0c;大家好&#xff0c;淼淼又来和大家见面啦&#xff0c;许多行业内的小伙伴们都知道脚本编程游戏引擎在游戏开发中扮演着越来越重要的角色。然而&#xff0c;脚本编程游戏引擎的开发和运行过程中往往会面临许多挑战和问题。这一期淼淼将带大家一起探讨脚本编程…

师彼长技以助己(2)产品思维

师彼长技以助己&#xff08;2&#xff09;产品思维 前言 我把产品思维称之为&#xff1a;人生底层的能力以及蹉跎别人还蹉跎自己的能力&#xff0c;前者说明你应该具备良好产品思维原因&#xff0c;后者是你没有好的产品思维去做产品带来的灾难。 人欲即天理 请大家谈谈看到这…

c++车票管理系统

这里写自定义目录标题 c车票管理系统vx:sredxc车票管理系统初始页面,需要源码vx:sredxc新增车票信息查询车票信息代码包含完整的发布车票信息,购票,退票,票数检测,余票检测,车票查询等功能 c车票管理系统vx:sredxc 这段代码实现了一个简单的高铁票务管理系统&#xff0c;具有以…

Threejs(WebGL)绘制线段优化:Shader修改gl.LINES模式为gl.LINE_STRIP

目录 背景 思路 Threejs实现 记录每条线的点数 封装原始裁剪索引数据 封装合并几何体的缓冲数据&#xff1a;由裁剪索引组成的 IntArray 守住该有的线段&#xff01; 修改顶点着色器 修改片元着色器 完整代码 WebGL实现类似功能&#xff08;简易版&#xff0c;便于测…

接入knife4j-openapi3访问/doc.html页面空白问题

大概率拦截器拦截下来了&#xff0c;我们F12看网络请求进行排查 都是 /webjars/ 路径下的资源被拦截了&#xff0c;只需在拦截器中添加该白名单即可"/webjars/**" 具体配置如下&#xff1a; Configuration public class WebConfig implements WebMvcConfigurer {priv…

Spark大数据处理 使用Scala集成开发环境

在Apache Spark大数据处理中&#xff0c;使用Scala作为开发语言是一个常见的选择&#xff0c;因为Scala与Java虚拟机&#xff08;JVM&#xff09;兼容&#xff0c;并且提供了更简洁、更函数式的编程风格。要在Scala中集成开发环境&#xff08;IDE&#xff09;以进行Spark开发&a…

eDP V1.4协议介绍

一、说明 eDP的全称是Embedded DisplayPort嵌入式显示端口,主要应用与短距离系统内应用,例如手机、一体式台式机等。eDP V1.4b是基于DP V1.3标准制作完成,但因应用场景的不同,还是有很多区别。 电压摆幅不同,eDP相对较低; eDP功耗相对较低; DP有线材和连接器的要求,eD…

什么是机器人离线编程? 衡祖仿真

一、什么是机器人离线编程&#xff1f; 机器人离线编程是自动化生产的重要一环。离线编程指&#xff0c;在建立了机器人的三维模拟场景后&#xff0c;经由软件仿真计算&#xff0c;生成控制机器人运动轨迹&#xff0c;进而生成机器人的控制指令。工程师可以由此来控制物理环境…