大话数据结构—线性表(一)

2019-02-18  本文已影响5人  浅浅星空

1.数组实现线性表

public class LineList {

    private static final int MAX_SIZE = 100;

    private int[] data = new int[MAX_SIZE];

    private int length;

    public int getElement(int i) {
        if (length == 0 || i < 0 || i > data.length - 1) {
            throw new RuntimeException("");
        }
        return data[i];
    }

    public boolean insert(int i, int element) {
        boolean success = false;
        // 线性表已满
        if (length == MAX_SIZE) {
            return success;
        }
        // 插入位置不正确
        if (i < 0 || i > length - 1) {
            return success;
        }
        if (i < length) {
            for (int j = length - 1; j > i - 1; j--) {
                data[j + 1] = data[j];
            }
            data[i] = element;
            success = true;
            length++;
        }
        return success;
    }

    public void delete(int i) {
        // 线性表为空
        if (length == 0) {
            return;
        }
        // i不在范围
        if (i < 0 || i > length - 1) {
            return;
        }
        for (int k = i; k < length; k++) {
            data[k] = data[k + 1];
        }
        length--;
    }
 }
上一篇 下一篇

猜你喜欢

热点阅读