数组和链表的区别
数组的特点:
1.在内存中,数组是一块连续的区域。
2.插入和删除的效率低。
3.查询效率较高,因为数组是连续的,知道每个数据的内存地址。
4.不利于扩展,一开始数组定义的空间不够时要重新定义数组。
链表的特点
1.在内存中不要求连续。
2.每个数据都保存了下一个数据的内存地址,通过指针指向下一个数据。
3.插入删除的效率高。
4.查询效率低。
5.不指定大小,扩展方便。
总结
数组:查找快,增删慢;链表:增删快,查找慢
1.数组的内存在数组定义时分配,因此元素个数是固定的;链表结点的内存在程序执行时动态向系统申请,因此链表节点个数可按照需要动态增减;
2.数组中的元素顺序关系由元素由索引体现,链表中的结点顺序关系由指针来体现;
3.数组大小固定,不能动态扩展;但是链表可以进行动态增删。