数组和链表的区别

数组:数组中的元素在内存上连续存放的,而且删除或者添加一个元素需要执行大量移动操作,效率是很低的。但是随机访问某个元素可以通过index访问,时间复杂度为O(1).数组是不允许动态定义大小,即我们在使用前必须先确定数组的大小。不能适应元素动态增减的情况,当增加元素的时候,可能数组的大小不够。

链表:链表中的元素在内存上与数组是不一样的,链表中的每个元素的地址都是不连续的,相邻的元素都是通过指针联系在一起的。插入和删除元素不需要移动任何节点,操作指针就行,时间复杂度都是O(1)。链表是通过new动态分配内存的,是适合元素动态增减的情况的。

总结:如果需要对元素进行大量的删除或者添加,那么肯定选用链表;数组的内存是在栈上,链表的内存是在堆上。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值