线性表是一个线性结构的数据元素的集合,其中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其他元素都是有且只有一个前继元素和一个后继元素。
常用的线性结构有:线性表,栈,队列,一维数组。
二维数组、多维数组、广义表和树是属于非线性结构,非线性结构中各个元素数据不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。根据关系的不同,可以分为层次结构和群体结构。
线性表的简单数组实现
对线性表的所有操作我们都可以通过数组来实现,虽然数组是固定容量的,但是我们可以在需要的时候用双倍的容量来创建新的数组。
数组实现线性表MyArrayList:
API:
MyArryList() //创建初始容量的空表
int size()//获取表中元素数量
boolean isEmpty()//表是否为空
Item get(int index)//返回指定索引的元素
void set(int index,Item item)//将指定位置的元素设置指定的值
boolean add(Item item)//向表中添加一个元素
void remove(int index)//删除表中的指定元素
Iterator iterator()//获取迭代器
import java.util.Iterator;
import java.util.NoSuchElementException;
public class MyArryList<Item