1.什么是数组?
数组是一种线性的数据结构.它同一组连续的内存空间,来存储一组具有相同类型的数据。
简单说明几点:
(1).线性表:就是数据排成像一条线一样的结构。每个线性表的数据最多只有前和后两个方向。除了数组,链表,队列,栈等也是线性表结构。
对立的是非线性表,比如二叉树,堆,图等之所以被称为非线性,是因为,在非线性表中,数据之间并不简单的前后关系。
(2).数组是连续的内存空间和相同的数据类型。正是因为这样数据的随机访问的速度很快,有利就有弊,比如在数组中删除和插入一个数据,为了保证连续性,就需要大量的数据搬用 的工作。
2.说到数据的访问,那你知道数组是如何实现根据下标随机访问数组元素的吗?
我们拿一个长度为 10 的 int 类型的数组 int[] a = new int[10] 来举例。在我画的这个图 中,计算机给数组 a[10],分配了一块连续内存空间 1000~1039,其中,内存块的首地址 为 base_address = 1000。