public class SeqList{ final int defaultSize=10; int size; int maxSize; Object listArray[]; public SeqList(){ initiate(defaultSize); } public SeqList(int size){ initiate(size); } public void initiate(int sz){ //初始化順序鏈表 maxSize=sz; size=0; listArray=new Object[sz]; } public void insert(int i,Object obj) throws Exception{ //在順序鏈表指定位置i插入元素obj if(size==maxSize){ throw new Exception("順序表已滿,沒法插入!!"); } if(i<0||i>size){ throw new Exception("參數錯誤!!"); } for(int j = size; j > i; j--){ listArray[j] = listArray[j-1]; } listArray[i]=obj; size++; } public Object delete(int i) throws Exception{ //刪除順序鏈表指定位置i的元素 if(i<0||i>size-1){ throw new Exception("參數錯誤!!"); } if(size==0){ throw new Exception("順序表已空沒法刪除!!"); } for(int j=i;j<size-1;j++){ listArray[j]=listArray[j+1]; } size--; return listArray[i]; } public Object getData(int i) throws Exception{ //獲得順序鏈表指定位置i的元素 if(i<0||i>size-1){ throw new Exception("參數錯誤!!"); } return listArray[i]; } public int size(){ //獲得順序鏈表的容量大小 return size; } public boolean isEmpty(){ //判斷順序鏈表是否爲空 return size==0; } public void MoreDataDelete(SeqList L,Object x) throws Exception{ //刪除順序鏈表L的所有x元素 int i; //int tag=0; for(i=0;i<size;i++){ if(x.equals(L.getData(i))){ L.delete(i); i--; // tag=1; } } //return tag; } }