java数据结构——数组

数据结构+算法是我们学习道路上的重中之重,让我们一起进步,一起感受代码之美!

/**
 * 让我们从最基本的数据结构——数组开始吧
 * 增、删、改、查、插、显示
 */
public class Seqlist {
    private long arr[];
    private int Maxsize;
    private int elements;

    public Seqlist(int size) {// 构造方法
        Maxsize = size;
        arr = new long[Maxsize];
        elements = 0;
    }

    // 有效数据
    public void show() {
        System.out.println(elements);
    }

    // 增加
    public void add(int value) {
        int len = arr.length;
        if (elements == len) {
            System.out.println("表满,无法继续添加。");
            return;
        } else {
            arr[elements] = value;
        }
        elements++;
    }

    // 删除(输入数据)
    public void delete(int value) {
        int i;
        for (i = 0; i < elements; i++) {
            if (arr[i] == value) {
                break;
            }
        }
        System.out.println(i);
        if (i == elements) {
            System.out.println("数据不存在");
            return;
        } else {
            for (int j = i; j < elements; j++) {
                arr[j] = arr[j + 1];// 后面数据往前面移动
            }
        }
        elements--;
    }

    // 修改
    public void revise(int olddt, int newdt) {
        int i;
        for (i = 0; i < elements; i++) {
            if (arr[i] == olddt) {
                break;
            }
        }
        arr[i] = newdt;
    }

    // 查找(按值查找,返回下标)
    public int index(int value) {
        for (int i = 0; i < elements; i++) {// 遍历有效数据
            if (arr[i] == value) {
                return i;
            }
        }
        return -1;
    }

    // 插入
    public void insert(int key, int value) {
        if (key > ++elements || key < 0) {
            System.out.println("输入值无效");
        }
        for (int j = elements; j > key - 1; j--) {
            arr[j + 1] = arr[j];// 这句完成有效数据自加
        }
        arr[key] = value;// 赋值到输入下标位置
    }

    // 显示
    public void display() {
        for (int i = 0; i < elements; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        Seqlist s = new Seqlist(100);
        s.add(324);
        s.add(536);
        s.add(342);
        s.add(87);

        s.revise(324, 3);// 修改
        s.revise(536, 4);
        s.revise(342, 5);
        s.revise(87, 6);
        s.display();
        s.show();

        s.insert(0, 1);// 插入
        s.insert(1, 2);
        s.show();
        s.display();
    }

}

猜你喜欢

转载自www.cnblogs.com/hardhp74520/p/11303706.html