首页 > 代码库 > 面试-链表和数组的区别

面试-链表和数组的区别


相关资料:
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.内存占用空间是分散的。

面试-链表和数组的区别