算法是什么(一)数组的算法记录

算法是什么(一)数组的算法记录

 

liuyuhang原创,未经允许禁止转载

从入门一个一个来吧,先说数组的算法:

1、求极值

        int[] arr01 = { 1, 3, 5, 76, 23, 44, 15, 33, 9, -2, -9 };
        int[] arr02 = { 2, 3, 7, 42, 23, 14, 55, 13, 0, -1, -7 };

        int length = 11;
        int temp = arr01[0];
        // 求最大值
        for (int i = 1; i < length; i++) {
            if (arr01[i] > temp) {
                temp = arr01[i];
            }
        }
        System.out.println("the max in arr01 is : " + temp);
        // 求最小值
        for (int i = 1; i < length; i++) {
            if (arr01[i] < temp) {
                temp = arr01[i];
            }
        }
        System.out.println("the min in arr01 is : " + temp);

2、排序

public static void main(String[] args) {
        int[] arr01 = { 1, 3, 5, 76, 23, 44, 15, 33, 9, -2, -9 };
        int[] arr02 = { 2, 3, 7, 42, 23, 14, 55, 13, 0, -1, -7 };
        int[] arr03 = { 1, 4, 9, 12, 33, 24, 25, 73, -4, -9, -17 };
        int[] arr04 = { 0, 2, 11, 41, 63, 19, 51, -3, -2, 0, 3 };
        int length = 11;

        System.out.println("jdk自带的快速排序法");
        Arrays.sort(arr01);
        printArr(arr01);

        System.out.println("冒泡排序法 双层遍历,里层比外层移一位");
        for (int i = 0; i < length - 1; i++) {
            for (int j = i + 1; j < length; j++) {
                if (arr02[i] > arr02[j]) {// 若前一个元素比后一个元素大,则交换位置
                    int temp = arr02[i];
                    arr02[i] = arr02[j];
                    arr02[j] = temp;
                }
            }
        }
        printArr(arr02);
        
        System.out.println("选择排序法,逐次[选择]出当前index后的最小元素,然后安排到当前index位置");
        for (int i = 0; i < length - 1; i++) {
            int min = i;// 记录当前index
            for (int j = i + 1; j < length; j++) {
                if (arr03[min] > arr03[j]) {// 与当前对比,若有个更小的元素,则更换index为更小的index,循环后找到最小的元素的index
                    min = j;
                }
            }
            if (min != i) {// 若最小元素的index与当前index不等,则交换当前元素与最小元素的index
                int temp = arr03[i];
                arr03[i] = arr03[min];
                arr03[min] = temp;
            }
        }
        printArr(arr03);
        
        
        
    }

    // 遍历
    public static void printArr(int[] arr) {
        for (int i : arr) {
            System.out.print(i + " ");
        }
        System.out.println();
    }

困,明天继续写!

3、求交集

4、求并集

5、求补集

6、去重复

7、求和

8、求平均

9、

猜你喜欢

转载自www.cnblogs.com/liuyuhangCastle/p/9807809.html
今日推荐