【数据结构Java语言描述】数组表示顺序表

姜皓 2019-06-26

线性表的顺序存储结构用Java语言描述如下:

public class SqList{
    final int maxlen = 1000;
    Object v[] = new Object[maxlen];
    int len = 0;

1.获取顺序表的大小

public int size(){
        return len;
    }

2.向顺序表中插入元素,在第i(1<=i<=len+1)个位置插入元素obj

public void insertElementAt(Object obj,int i){
        if(len==maxlen){
            System.out.println("顺序表已满");
            return;
        }
        if((i<1)||(i>len+1)){
            System.out.println("插入位置出错");
            return;
        }
        for(int j=len-1;j>=i-1;j--){
            v[j+1] = v[j];
        }
        v[i-1] = obj;
        len++;
        return;
    }

3.在顺序表中第i(1<=i<=len+1)个位置删除元素

public Object remove(int i){
        if((i<1)||(i>len)){
            System.out.println("删除位置出错");
            return null;
        }
        Object obj = v[i-1];
        for(int j=i-1;j<len-1;j++){
            v[j] = v[j+1];
        }
        len--;
        return obj;
    }

4.在顺序表中查找元素obj的位置

public int indexOf(Object obj){
        for(int i=0;i<len;i++){
            if(obj.equals(v[i])){
                return i+1;
            }
        }
        return 0;
    }
}

相关推荐