线性表顺序结构

2017-11-28  本文已影响23人  AmeeLove
package com.ghg.data_structure.test;

import java.util.Arrays;

public class Test1 {
    static int length = 0;

    public static void main(String[] args) {

        int[] arr = new int[10];

        for (int i = 0; i < 5; i++) {
            arr[i] = i;
        }
        /**
         * 元素长度
         */
        length = 5;
        System.out.println(Arrays.toString(arr));

        insert(arr, 5, 18);
        System.out.println(Arrays.toString(arr));

        delete(arr, 1);
        delete(arr, 3);
        System.out.println(Arrays.toString(arr));

    }

    /**
     * 在第i个位置插入元素
     * 
     * @param arr
     * @param i
     * @param num
     */
    public static void insert(int[] arr, int i, int num) {

        if (length == arr.length) {
            System.out.println("数组满了");
        }
        if (arr.length == 0) {
            System.out.println("数组为完");
            return;
        }
        if (i < 0 || i > arr.length) {
            System.out.println("i 位置不正确  " + i + "    数组的长度  " + arr.length);
            return;
        }
        /**
         * 元素后移
         */
        for (int k = length-1; k >= i - 1; k--) {
            arr[k + 1] = arr[k];
        }
        //插入元素
        arr[i - 1] = num;
        length++;

    }

    /**
     * 删除元素
     * 
     * @param arr
     * @param i
     */
    public static void delete(int[] arr, int i) {
        if (arr.length == 0) {
            System.out.println("数组为完");
            return;
        }
        if (i < 0 || i > arr.length) {
            System.out.println("i 位置不正确  " + i + "    数组的长度  " + arr.length);
            return;
        }

        for (int k = i; k < arr.length; k++) {
            arr[k - 1] = arr[k];
        }
        length--;
    }

}


结果;

[0, 1, 2, 3, 4, 0, 0, 0, 0, 0]
[0, 1, 2, 3, 18, 4, 0, 0, 0, 0]
[1, 2, 18, 4, 0, 0, 0, 0, 0, 0]

上一篇 下一篇

猜你喜欢

热点阅读