既然数组和链表都是数据存储的一种手段,所谓“既生瑜何生亮”,有了"链表"还用"数组"干嘛?有了这个疑问,小编在此主要跟大家分享一下数组和链表两种内存组织类型的异同,帮助大家正确理解好这两种数据结构并合理应用。
一、数组和链表的简介
1. 数组
数组---就是一些列具有相同类型的数据的集合,这些数据在内存中依次挨着存放,彼此之间没有缝隙。简单来说,就是一种有序、连续且有着相同元素的存储结构。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
特点:
相同的元素类型;
依次连续顺序存放;
通过下标可以直接访问。
优点:存取速度快
缺点:
1.需要一个连续的很大的内存(因为数组具有连续性,假设int[30000]arry 即需要分配连续的30000个空间,可能不存在)
2.插入和删除元素的效率低(当删除数组当中的一个元素时,因为数组具有连续性,所以需要后面的元素全部前移一位。同理:插入一位元素时,需要后面