顺序表的java实现

206 阅读1分钟

接口定义顺序表需要实现的功能

public interface List {
    public void clear();
    public boolean isEmpty();
    public int length();
    public void insert(int i,Object x);
    public void remove(int i);
    public void display();
}

实现接口

public class SequenceList implements List{
    private Object[] listArray;
    private int length;
    public SequenceList(int maxsize) {
        if(maxsize<=0){
            System.out.println("error");
            System.exit(1);
        }
        length=0;
        listArray=new Object[maxsize];
    }

    @Override
    public void clear() {
        length=0;
    }

    @Override
    public boolean isEmpty() {
        return length==0;
    }

    @Override
    public int length() {
        return length;
    }


    @Override
    public void insert(int i, Object x) {
        if(i<0||i>listArray.length){
            System.out.println("插入位置错误");
        }
        for(int j=length;j>i;j--){
            listArray[j]=listArray[j-1];
        }
        listArray[i]=x;
        length++;
    }

    @Override
    public void remove(int i) {
        if(i<0||i>listArray.length){
            System.out.println("删除位置错误");
        }
        for(int j=i;j<length-1;j++){
            listArray[j]=listArray[j+1];
        }
        length--;
    }

    @Override
    public void display() {
        for(int i = 0; i < length; i++) {
            System.out.print(listArray[i]+" ");
        }
        System.out.println();
    }
}