开篇问题:为什么数组下标是从0开始,而不是从1开始;
什么是数组?
数组是一种线性表数据结构,它用一组连续的内存空间来存储一组相同类型的数据。
线性表结构:数据排成一条线一样的结构,每个线性表上最多只有前和后两个方向,除数组外,链表、队列、栈也是线性结构。
非线性结构:比如:二叉树、图、堆等,在非线性结构中,数据之间并不是简单的前后关系。
**连续的内存空间和相同类型的数据:**正式因为这两个特性,才有了它的一大特性:“随机访问”;缺点:在数组中要进行删除或者插入操作需要进行大量的迁移工作,效率低下;
**关于数组的随机访问:**例如一个长度为10
的int
类型的数组 int a[] = new int[10];
在下图中,计算机给数组 a[10]
分配了一块儿连续的内存空间 1000~1039;