1. 程式人生 > 其它 >房上的貓:陣列插入演算法等難點專開

房上的貓:陣列插入演算法等難點專開

一:查詢演算法

public class Aini {

    public static void main(String[] args) {
        // 陣列查詢演算法
        // 查詢學生是否存在
        // 匯入掃描器
        Scanner bdqn = new Scanner(System.in);
        System.out.println("請輸入你要查詢的學生:");
        String name = bdqn.next();
        String[] arrs = { "王二", "張三", "李四", "王五", "六麻子" };
        int en = arrs.length;// 記錄一個不可能的下標
        for (int i = 0; i < arrs.length; i++) {
            if (name.equals(arrs[i])) {
                en = i;
                break;
            }
        }
        if (en < arrs.length) {
            System.out.println("學生:" + name + "存在,下表是" + en);
        } else {
            System.out.println("學生:" + name + "不存在");
        }
    }
}

二:複製演算法

public class Aini {

    public static void main(String[] args) {
        // 陣列複製演算法
        int[] arr1 = { 100, 800, 500, 600, 700 };
        int[] arr2 = new int[arr1.length];
        // 用for迴圈吧1的對應下標值複製給2
        for (int i = 0; i < arr1.length; i++) {
            arr2[i] = arr1[i];
        }
        // 輸出arr2
        for (int i = 0; i < arr2.length; i++) {
            System.out.println(arr2[i]);
        }
    }
}

三:插入演算法

public class Aini {

    public static void main(String[] args) {
        // 匯入掃描器
        Scanner bdqn = new Scanner(System.in);
        // 陣列插入演算法
        int[] arr1 = { 100, 800, 500, 600, 700, 1 };
        System.out.println("請輸入你想要插入的值");
        int num = bdqn.nextInt();
        arr1[arr1.length - 1] = num;
        for (int i = arr1.length - 1; i > 0; i--) {
            int a = arr1[i];
            arr1[i] = arr1[i - 1];
            arr1[i - 1] = a;
        }
        // 輸出
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }
}