链表和数组的区别 各有什么优缺点

数组和链表都属于线性表

数组:

在内存中,数组是一块连续的区域。

数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。

通过下标读取,查找数据时效率高。

不利于扩展,数组定义的空间不够时要重新定义数组。

链表:

内存中可以存在任何地方,不要求连续。

每一个数据都保存了下一个数据的内存地址。

增加数据和删除数据很容易。

查找数据时效率低。

不指定大小,扩展方便。链表大小不用定义,数据随意增删。

 

总结:

数组是连续的。初始化需要指定大小,不便于扩容。数组查找效率高,链表增删效率高。

 

posted @ 2017-09-12 16:22  黄增松  阅读(8657)  评论(1编辑  收藏  举报