顺序表,就是顺序存储的线性表,顺序存储是用一组地址连续的存储单元依次存放线性表中各个元素的存储结构,具有便于随机存取的优点,缺点是插入删除操作比较麻烦,在进行插入删除的同时,会引起大量数据的移动,而且需要预先分配空间,会造成空间的浪费。下面先用一个接口表明顺序表需要实现的基本操作。
public interface IList {
public void clear();//将表中的元素置空
public boolean isEmpty();//判断是否为空表
public int length();//求线性表元素的个数
public Object get(int i) throws Exception;//返回下标为i的元素
public void insert(int i,Object x) throws Exception;//在i位置插入元素x
public void remove(int i) throws Exception;//删除i位置的元素
public int indexOf(Object x) throws Exception;//求数据为x的下标
public void display();//输出数据元素
}
接下来对顺序表类进行描述,实现IList接口
public class SqList implements IList {
private Object[] listElem;//线性表存储空间
private int curLen;//线性表当前长度
public SqList(int maxSize) {
curLen = 0;
listElem = new Object[maxSize];
}
//置空
public void clear() {
curLen = 0;
}
//判断线性表数据元素是否为空,是返回true
public boolean isEmpty() {
return curLen =