本文行文思路结构
一. 线性表
二. 数组
三. 表的简单数组实现
四. 表的各种基本操作 --- 增删改查
1. 图解分析
2. 代码实现
五. 完整测试代码
六. 总结
一. 线性表
线性结构是数据结构中三种基本结构之一. 而线性结构的特点是:
在数据元素的非空有限集合中
存在唯一的一个被称为"第一个"的数据元素;
存在唯一的一个被称为"最后一个"的数据元素;
除第一个之外, 集合中的每个数据元素均只有一个前驱;
除最后一个之外, 集合中的每个数据元素均只有一个后继.
同时线性结构中包括常见的数据结构:
线性表
栈
队列
今天, 就来重点介绍最常用且最简单的一种数据结构 --- 线性表, 简言之, 一个线性表是n个数据元素的有限序列.
而实现线性表的方式一般有两种,一种是使用数组存储线性表的元素,即用一组连续的存储单元依次存储线性表的数据元素。
另一种是使用链表存储线性表的元素,即用一组任意的存储单元存储线性表的数据元素(存储单元可以是连续的,也可以是不连续的)。
这两种方式就对应两种不同的存储结构: 顺序存储结构和链式存储结构.
二. 数组
以下是维基百科的定义:
在计算机科学中,数组数据结构(英语:array data structure),简称数组(英语:Array),是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素对应的储存地址。
其实, 数组是应用最广泛的一种数据结构, 常常被植入到编程语言中,作为基本数据类型来使用. 简言之, 数组就是将元素在内存中连续存放,由于每个元素占用内存相邻,可以通过下标迅速访问数组中任何元素。
以一维数组为例, (当然二维数组实际上也是一维数组)
int[] arr = new int[3];
数组在内存中的结构.PNG
三. 表的简单数组实现
数组是一种大小固定的数据结构, 虽然数组是由固定容量创建的, 但在需要的时候可以用加倍的容量(一般是双倍)来重新创建一个不同的数组, 同时对表的所有操作都可以通过使用数组来实现.
int[] arr = new int[10];
//...
// 扩大arr
int[] newArr = new in