数组和链表的区别

news2024/11/16 0:23:16

简介

从定义上讲:
数组和链表都是数据的集合。

1.数组中每个元素都是连续的,通过下标进行访问,当我们获取到下标后,就可以随意访问数组中的值
2.链表中的元素则是不连续的,必须获得链表中某个元素后,才能顺序访问该元素的周围元素,我们没办法随意访问链表中的元素。链表分为单向链表,双向链表。环形链表等

从实现上来讲:

1.数组可以由一块连续区域的内存实现,其中,内存地址可以作为数组的下标,该地址中的值就是数组中元素的值。因为数组占用的是一块空间,所以数组的大小申请之后就会固定:
2.链表可以由不连续的内存存储实现,每个元素都会存储下一个元素的地址。(如果是双向链表的话,元素则会还会存储上个元素的地址)。因为链表中存储了元素的地址,所以链表可以在内存足够的情况下随意申请空间

如下图所示
在这里插入图片描述
在这里插入图片描述

双向链表和环形链表

1.双向链表是指每个元素不仅指向下一个元素,还会指向上一个元素,如下图所示:
在这里插入图片描述

2.环形链表指链表的最后一个元素会指向链表的第一个元素;或者链表的最后一个元素会指向链表中间的某个元素,如下图所示:
在这里插入图片描述

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

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

相关文章

便携气象站通常用在哪些地方?

推荐型号:TH-PQX5】便携气象站是一种设计轻便、易于携带的气象监测设备,主要用于提供实时气象数据,支持多种领域的应用,包括科研、农业生产、户外活动和应急气象监测等。以下是根据提供的参考资料对便携气象站的详细分析&#xff…

基于k8s快速搭建docker镜像服务的demo

基于k8s快速搭建docker镜像服务的demo 一、环境准备 如标题,你需要环境中有和2个平台,并且服务器上也已经安装好docker服务 接下来我来构建一个docker镜像,然后使用harbork8s来快速部署服务demo 二、部署概述 使用docker构建镜像&#x…

FPGA开发——呼吸灯的设计

一、原理 呼吸灯的原理主要基于‌PWM(脉冲宽度调制)技术,通过控制LED灯的占空比来实现亮度的逐渐变化。这种技术通过调整PWM信号的占空比,即高电平在一个周期内所占的比例,来控制LED灯的亮度。当占空比从0%逐渐变化到1…

springboot项目从jdk8升级为jdk17过程记录

背景:公司有升级项目jdk的规划,计划从jdk8升级到jdk11 开始 首先配置本地的java_home 参考文档:Mac环境下切换JDK版本及不同的maven-CSDN博客 将pom.xml中jdk1.8相关的版本全部改为jdk17,主要是maven编译插件之类的&#xff0c…

使用 MongoDB 向量搜索和 OpenAI 进行反洗钱和预防欺诈

使用 MongoDB Vector Search 和 OpenAI 进行反洗钱和预防欺诈 欺诈和反洗钱 (AML) 是企业和消费者的主要担忧,影响金融服务和电子商务等行业。解决这些问题的传统方法包括静态、基于规则的系统和预测人工智能 (AI) 方法,这些方法虽然有效,但也…

数据结构--单链表代码(王道书上代码手敲!!!)c++

目录 1.带头结点的初始化以及检查单链表是否为空 2.不带头结点的单链表初始化以及表是否为空检查 3.带头结点按位序插入 4.不带头结点的按位序插入 5.带头结点的后插,前插,按位删除,删除固定节点操作 6 不带头结点的后插,前…

算法 —— 暴力枚举

目录 循环枚举 P2241 统计方形(数据加强版) P2089 烤鸡 P1618 三连击(升级版) 子集枚举 P1036 [NOIP2002 普及组] 选数 P1157 组合的输出 排列枚举 P1706 全排列问题 P1088 [NOIP2004 普及组] 火星人 循环枚举 顾名思…

C语言进阶——一文带你深入了解“C语言关键字”(中篇)

本篇文章属于C语言进阶篇的“C语言关键字”,旨在分享我对C语言关键字的深度学习和了解。同时带领大家深入浅出的走进C语言进阶知识——关键字篇! 目录 一、变量的命名规则 二、标识符的命名规则 一、变量的命名规则 1、命名应当直观且可以拼读&#x…

Linux网络:传输层协议TCP(一)

目录 一、TCP协议的定义 二、确认应答机制ACK 三、序号、确认序号 四、超时重传机制 一、TCP协议的定义 TCP 全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传 输进行一个详细的控制; TCP 协议段格式 • 源/目的端口号: 表示数据…

基于微信小程序+SpringBoot+Vue的美食推荐平台(带1w+文档)

基于微信小程序SpringBootVue的美食推荐平台(带1w文档) 基于微信小程序SpringBootVue的流浪动物救助(带1w文档) 当微信小程序占领了多半江山,目前不分年龄和种族,使用频率最高,覆盖面积最广。使用人群使用的大多数都是微信小程序。目前国内最…

刷题计划 day5 哈希表上

⚡刷题计划day5继续,可以点个免费的赞哦~ 今天开启哈希表刷题专题,往期可看专栏,关注不迷路, 您的支持是我的最大动力🌹~ 目录 ⚡刷题计划day5继续,可以点个免费的赞哦~ 今天开启哈希表刷题专题&#x…

多节点网络流量对比分析在业务性能分析中的应用

在现代企业网络环境中,网络流量分析已成为确保业务连续性和优化性能的关键工具。特别是多节点网络流量对比分析,通过对比不同节点间的流量,能有效发现潜在问题,提高网络运维效率。本文将探讨多节点网络流量对比分析在业务性能分析…

初识C++ · AVL树(1)

目录 前言: 1 AVL树的创建 2 部分成员函数 2.1 查找 2.2 中序遍历 2.3 插入 2.4 左旋转 2.5右旋转 前言: 上文,上上文提到了map set,二叉搜索树,其实都是为了近两文做铺垫的,虽然map的底层是红黑树…

Android statsd 埋点简析

源码基于:Android U 0. 前言 最近在研究 Android 自带的系统数据指标采集功能,框架依旧很严谨、完美,这里做个分享。 1. Android S 之后变化 stats 的代码从 framework 或 system/core 中转移到了 packages/modules/StatsD 目录中。 2. 框架…

结构拼图的艺术——组合模式(Python实现)

大家好,今天我们继续来讲结构型设计模式,上一期我们介绍了桥接模式,帮助大家理解了如何通过分离抽象部分和实现部分来实现代码的解耦。 今天,我们将介绍另一个非常实用的设计模式——组合模式,这个模式特别适合用于处…

Vue3 + Vite 打包引入图片错误

1. 具体报错 报错信息 报错代码 2. 解决方法 改为import引入&#xff0c;注意src最好引用为符引入&#xff0c;不然docker部署的时候可能也会显示不了 <template><img :src"loginBg" alt""> </template><script langts setup> …

ili9341数据手册中的常用命令

一.设置液晶显示窗口 根据液晶屏的要求&#xff0c;在发送显示数据前&#xff0c;需要先设置显示窗口确定后面发送的像素数据的显示区域。下面的0x2A和0x2B分别对应的是y轴与x轴的命令。 /********** ILI934 命令 ********************************/ #define CMD_SetCoor…

keil调试SH79F7416

仿真器JET51A, 调试设置 选择器件 再次点击调试就一切正常啦

使用moco 完成挡板测试

这里写自定义目录标题 背景使用 moco 工具完成mock挡板功能1. 下载jar包2. 简单启动2.1 准备一个简单的json文件2.2 启动 高级运用同一接口的不同返回字段部分匹配 SONPath参数结构匹配 SON Struct JSON分模块 背景 mock测试&#xff08;挡板测试&#xff09;就是在测试过程中…

在jmeter中使用javascript脚本

工作上遇到一个压力测试的需求&#xff0c;需要测试几个考试相关的接口。其中有一个获取试题详情的接口&#xff0c;和一个提交答题信息的接口。后一个接口以上一接口的返回内容为参数&#xff0c;添加上用户的答案即可。jmeter提供了非常多的方式可以实现该需求&#xff0c;这…