设有一个公司职员薪水管理系统,要求完成:
- 可以增加新员工
- 可以根据员工的工号查找员工的详细信息
- 可以限时全部的员工信息
- 可以根据给定的员工修改员工的薪水
- 当员工离职时,将该员工从管理系统中删除
public interface IList {
public void clear();
public boolean isEmpty();
public int length();
public Object get(int i)throws Exception;
public void insert(int i,Object x)throws Exception;
public void remove(int i)throws Exception;
public int indexOf(Object x);
public void display();
}
public class SqList implements IList {
private Object[] listElem;//线性表储存空间
private int curLen;//线性表的当前长度
public SqList(int maxSize){
curLen=0;//置顺序表的当前长度为0
listElem=new Object[maxSize];//为顺序表分配maxSize个储存单元
}
@Override
public void clear() {//置空
curLen=0;
}
@Override
public boolean isEmpty() {//判空
return curLen==0;
}
@Override
public int length() {//求线性表数据元素个数并返回其值
return curLen;
}
@Override
public Object get(int i)throws Exception{//读取
if(i<0||i>curLen-1)
throw new Exception("第"+i+"个元素不存在");
return listElem[i];
}
@Override
public void insert(int i, Object x)throws Exception {//插入
if(curLen==listElem.length)//判断顺序表是否已满
throw new Exception("顺序表已满");//抛出异常
if(i<0||i>curLen)
throw new Exception("插入位置不合法");//抛出异常
for(int j=curLen;j>i;j--)
listElem[j]=listElem[j-1];//插入位置及其之后的所有数据元素后移一位
listElem[i]=x;//插入x
curLen++;//表长加1
}
@Override
public void remove(int i)throws Exception {//删除
if(i<0||i>curLen-1)
throw new Exception("删除位置不合法");//抛出异常
for(int j=i;j
运行结果如下:



