数组和链表的区别

参考答案

数组和链表的区别

一、相同点

数组和链表都属于一种数据结构。

二、不同点

1.  从逻辑结构来看

  • 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
  • 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素。

2.  从内存存储来看

  •  (静态)数组从栈中分配空间, 对于程序员来说,比较方便快速,但是自由度小。
  • 链表从堆中分配空间,自由度大,但是申请管理比较麻烦。

 

综上所述:

如果需要快速访问数据,很少或不插入、删除元素,用数组。

相反, 如果需要经常插入和删除元素,用链表数据结构。

 

以上,是Java面试题【数组和链表的区别】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧