面试-链表和数组的区别

Posted 疯狂delphi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试-链表和数组的区别相关的知识,希望对你有一定的参考价值。


相关资料:
1.http://blog.csdn.net/kedark/article/details/54915577
2.http://blog.csdn.net/wqsys/article/details/7656650

数组:
1.将元素在内存中连续存放。
2.每个元素占用内存相同。
3.通过下标迅速访问数组中任何元素。
4.增加、删除一个元素需移动大量元素。
5.需要快速访问数据,很少或不插入和删除元素,应用数组。
6.(静态)数组从栈中分配空间, 对于程序员方便快速,但自由度小。
7.内存占用空间是固定的。

链表:
1.元素在内存中不是顺序存储,通过存在元素中的指针联系到一起。
2.访问链表需要从第一个元素开始,一直找到需要的元素位置。
3.增加、删除一个元素只需要修改指针。
4.需要经常增加、删除元素,应用链表。
5.链表从堆中分配空间, 自由度大但申请管理比较麻烦。
6.内存占用空间是分散的。

以上是关于面试-链表和数组的区别的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 - 链表和数组的区别

数据结构 - 链表和数组的区别

链表和数组的区别

链表和数组的区别在哪里?

链表和数组的区别

链表和数组的区别