顺序表的实现
/* * @author hesmer * @2011-09-11 */public class SeqList {private final int MaxSize = 100;private Object[] data;private int length;public SeqList() {data = new Object[MaxSize];length = 0;}public SeqList(Object[] a) {this();for(int i = 0; i < a.length; i++)data[i] = a[i];this.length = a.length;}/* * 获得顺序表的长度 * @return 顺序表的长度 */public int length() {return length;}/* * 在顺序表的尾部插入一个元素 * @param obj 要插入的元素 */public void insert(Object obj) {data[length] = obj;length++;}/* * 在指定位置插入一个元素 * @param obj 要插入的元素 * @param index 要插入元素的位置索引 */public void insert(Object obj, int index) {if(index > MaxSize)throw new NullPointerException("上溢");if(index <1 || index > length+1)throw new NullPointerException("位置异常");for(int j = length; j >= index; j--)data[j] = data[j-1];data[index-1] = obj;length++;}/* * 删除指定位置的一个元素 * @param index 要删除元素的位置索引 * @return 删除的元素 */public Object delete(int index) {if(index > MaxSize)throw new NullPointerException("上溢");if(index < 1 || index > length+1)throw new NullPointerException("位置异常");Object x = data[index-1];for(int j = index; j < length; j++)data[j-1] = data[j];length--;return x;}/* * 获得指定位置的元素 * @param index 要取得元素的位置索引 * @return 获得的元素 */public Object get(int index) {if(index > MaxSize)throw new NullPointerException("上溢");if(index < 1 || index > length+1)throw new NullPointerException("位置异常");return data[index-1];}/* * 获得指定元素的位置索引 * @param obj 指定的元素 * @return 指定元素的位置索引 */public int locate(Object obj) {for(int i= 0; i < length; i++)if(data[i] == obj)return i+1;return 0;}/* * 打印出顺序表中所有的元素 */public void printList() {for(int i = 0; i < length; i++)System.out.println(data[i]);}}?