数组和链表的区别,各有何优缺点

数组和链表的区别,各有何优缺点链表与数组的区别(1)数组的元素个数是固定的,而组成链表的结点个数可按需要增减;(2)数组元素的存诸单元在数组定义时分配,链表结点的存储单元在程序执行时动态向系统申请;(3)数组中的元素顺序关系由元素在数组中的位置(即下标)确定,链表中的结点顺序关系由结点所包含的指针来体现。(4)对于不是固定长度的列表,用可能最大长度的数组来描述,会浪费许多内存空间。(5)对于元素的插人、删除操作非常频繁的列表处理场合,用数组表示是不适宜的。若用链表实现,会使程序结构清晰,处理的方法也较为简便。数组的优点随机

大家好,又见面了,我是你们的朋友全栈君。

链表与数组的区别

(1)数组的元素个数是固定的,而组成链表的结点个数可按需要增减;

(2)数组元素的存诸单元在数组定义时分配,链表结点的存储单元在程序执行时动态向系统申请;

(3)数组中的元素顺序关系由元素在数组中的位置(即下标)确定,链表中的结点顺序关系由结点所包含的指针来体现。

(4)对于不是固定长度的列表,用可能最大长度的数组来描述,会浪费许多内存空间。

(5)对于元素的插人、删除操作非常频繁的列表处理场合,用数组表示是不适宜的。若用链表实现,会使程序结构清晰,处理的方法也较为简便。

数组的优点

随机访问性强

查找速度快

数组的缺点

插入和删除效率低

可能浪费内存

内存空间要求高,必须有足够的连续内存空间。

数组大小固定,不能动态拓展

链表的优点

插入删除速度快

内存利用率高,不会浪费内存

大小没有固定,拓展很灵活。

链表的缺点

不能随机查找,必须从第一个开始遍历,查找效率低

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149988.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm中使用anaconda部署python环境_anaconda pycharm环境配置

    pycharm中使用anaconda部署python环境_anaconda pycharm环境配置总有那么多的知识点,看起来这么简单(其实解决的方法也很简单,无非是某个地方要加括号,要加双括号等小问题),但没有人好好讲的话会浪费很多时间。笔者先安装了Anaconda和Spyder,运行TensorFlow-GPU,最近安装了pycharm,想利用之前配置好的环境(省去依赖包的配置)。找了一些资源都没有将清楚。以下简洁版:1、新建项目,选择“Existinginterpreter”…

  • string s=new string(“hello”)_result of string concatenation

    string s=new string(“hello”)_result of string concatenation—問題———我的页面上分别有两个按钮Button1,Button2,和两个编辑框TextBox1,TextBox2,我在PAGE_LOAD里加上下面这行代码后,     TextBox1.Attributes.Add(“onkeydown”,”if(event.keyCode==13){document.all.Button1.click();}”);     实现了对Te

  • 小学语文历史重点名人以及解析大全

    小学语文历史重点名人以及解析大全【人物1】:司马光【简介】:司马光(1019~1086),北宋时期著名政治家、史学家、散文家。北宋陕州夏县涑水乡(今山西运城安邑镇东北)人,汉族。出生于河南省光山县,字君实,号迂叟,世称涑水先生。司马光自幼嗜学,尤喜《春秋左氏传》。【相关故事】司马光砸缸司马光七岁的时候稳重的就像一个大人,听到老师讲解《左氏春秋》,非常喜爱,放学之后又为家人讲他所学到的,他立即也明白了《左氏春秋》的内涵,从此手里放不下书本,甚至到了忘记了饥渴,冷热的程度。有一次,他跟小伙伴们在后院里玩耍,有个小孩爬到大

  • 了解automake和autoconf(autoreconf)[通俗易懂]

    了解automake和autoconf(autoreconf)[通俗易懂]本文转载自《例解autoconf和automake生成Makefile文件》 通过这篇文章可以了解auotmake和autoconf的基本工作流程,文章讲的通俗易懂,但是版本较老。了解新版本的automake可以参考automake的WiKi主页Automake,通过下图可以很清晰的了解auomake和autoconf是如何生成configure脚本文件和最终的makefile文件…

    2022年10月31日
  • indexedDB_INDEX函数

    indexedDB_INDEX函数indexedDB介绍原生介绍indexedDB是一个前端数据持久化解决方案(即前端缓存),由浏览器实现。0.兼容性1.特点基于文件存储。意味着其容量可达到硬盘可用空间上限非关系型数据库。意味着扩展或收缩字段一般无须修改数据库和表结构(除非新增字段用做索引)键值对存储。意味着存取无须字符串转换过程存储类型丰富。意味着浏览器缓存中不再是只能存字符串了异步:意味着所有操作都要在回调中进行2.数据库一组相关业务数据的存储集合。创建一个数据库windo

    2022年10月25日
  • MAC下Myeclipse SVN插件安装[通俗易懂]

    MAC下Myeclipse SVN插件安装[通俗易懂]1.下载SVN插件包:http://download.csdn.net/detail/frankyanchen/45128992.在myeclipse文件夹下创建一个文件夹为svntool并复制下载的安装包中的features,plugins两个文件。3.在/Applications/MyEclipse/MyEclipse10.app/Contents/Profile/dropins

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号