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

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

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

链表与数组的区别

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

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

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

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

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

数组的优点

随机访问性强

查找速度快

数组的缺点

插入和删除效率低

可能浪费内存

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

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

链表的优点

插入删除速度快

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

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

链表的缺点

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 欧拉函数及其计算_计算n的欧拉函数

    欧拉函数及其计算_计算n的欧拉函数欧拉函数1.定义什么是欧拉函数?任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)计算这个值的方法就叫做欧拉函数,用φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以φ(n)=4。2.计算欧拉函数计算公式这个p是什么呢?一个正整数n可以通过分解质因数得到例如n=…

    2022年8月22日
    7
  • autosize 碰到 WebView.

    autosize 碰到 WebView.autosize一般来说一个挺好用的安卓缩放框架.最近碰到了一次失效的时候,积累一下解决办法.覆写Activity.onCreateViewoverridefunonCreateView(name:String,context:Context,attrs:AttributeSet):View?{AutoSize.autoConvertDensityOfGlobal(this)returnsuper.onCreateView(nam

    2022年5月24日
    47
  • scrapy 入门_scrapy官方文档

    scrapy 入门_scrapy官方文档Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取(更确切来说,网络抓取)所设计的,也可以

    2022年8月4日
    12
  • mysql子查询和连接查询(大数据联合计算)

    大圣网络2017-01-3109:19连接查询连接查询:将多张表(>=2)进行记录的连接(按照某个指定的条件进行数据拼接)。连接查询的意义:在用户查看数据的时候,需要显示的数据来自多张表.连接查询:join,使用方式:左表join右表;左表:在join关键字左边的表;右表:在join关键字右边的表连接查询分类:SQL中将连接查询分成

    2022年4月15日
    37
  • onlaunch 异步_小程序onLaunch 与 onload 的异步问题(微信,支付宝实测可用)

    小程序app.js中onLaunch与index.js中onload的异步执行问题,在同时触发的情况下如何等待返回值而响应index中onload的内容比如说获取用户的openid或者凭证在没返回需要的数据之前index.js的onload会执行从而导致后续的代码没有openid的支持*ES6中提供了一个promise方案是一个不错的解决方案promise下载地…

    2022年4月14日
    92
  • J2ME开发专题[通俗易懂]

    J2ME开发专题[通俗易懂]http://www.csdn.net/subject/j2meTools/ 

    2022年7月11日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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