顺序表的顺序是以1为开头的,而没有采用数组本身的顺序。 package linearlist; public class SequenceList { int curlen; int maxlen; Object[] elem; /* * 构造方法,初始化一个顺序表 */ public SequenceList(int maxlen, Object[] a) { this.curlen = a.length; this.maxlen = maxlen; elem = new Object[maxlen]; for(int i=0; i<a.length; i++) elem[i] = a[i]; } /* * 获取loc位置上的元素 */ public Object getElem(int loc) { if(loc<1 || loc>curlen) return null; else return elem[loc-1]; } /* * 在loc位置后面插入一个元素 */ public boolean insert(Object obj, int loc) { if(loc<0 || curlen==maxlen ||loc>curlen+1) return false; else { for(int i=curlen; i>loc; i--){ elem[i] = elem[i-1]; } elem[loc-1] = obj; curlen++; return true; } } /* * 删除loc位置上的元素 */ public Object delete(int loc) { Object obj; if(loc<1 || loc >curlen) return null; else { obj = elem[loc-1]; for(int i= loc; i<curlen; i++) { elem[i-1] = elem[i]; } curlen--; return obj; } }