海康转正答辩突击总结

海康转正答辩突击总结_第1张图片
海康转正答辩突击总结_第2张图片
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。

海康转正答辩突击总结_第3张图片
海康转正答辩突击总结_第4张图片

海康转正答辩突击总结_第5张图片
海康转正答辩突击总结_第6张图片
海康转正答辩突击总结_第7张图片

海康转正答辩突击总结_第8张图片
海康转正答辩突击总结_第9张图片
海康转正答辩突击总结_第10张图片
海康转正答辩突击总结_第11张图片
海康转正答辩突击总结_第12张图片
海康转正答辩突击总结_第13张图片
海康转正答辩突击总结_第14张图片
海康转正答辩突击总结_第15张图片
快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)
海康转正答辩突击总结_第16张图片

import java.util.Arrays;

public class QuickSort{

    public int[] sort(int[] sourceArray) throws Exception {
        // 对 arr 进行拷贝,不改变参数内容
        int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);

        return quickSort(arr, 0, arr.length - 1);
    }

    private int[] quickSort(int[] arr, int left, int right) {
        if (left < right) {
            int partitionIndex = partition(arr, left, right);
            quickSort(arr, left, partitionIndex - 1);
            quickSort(arr, partitionIndex + 1, right);
        }
        return arr;
    }

    private int partition(int[] arr, int left, int right) {
        // 设定基准值(pivot)
        int pivot = left;
        int index = pivot + 1;
        for (int i = index; i <= right; i++) {
            if (arr[i] < arr[pivot]) {
                swap(arr, i, index);
                index++;
            }
        }
        swap(arr, pivot, index - 1);
        return index - 1;
    }

    private void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

}

你可能感兴趣的:(java)