排序

選擇排序

點此查看學習視頻java

Version 1.0
public int[] selectionSort(int[] arr){
    if (arr == null || arr.length < 2)
        return null;
    for (int i = 0;i < arr.length;i++){
        int currentValue = arr[i];
        int locationOfMin = i;
        for (int j = i + 1;j < arr.length;j++){
            if (currentValue > arr[j]){
                currentValue = arr[j];
                locationOfMin = j;
            }
        }
        if (locationOfMin != i) {
            int temp = arr[i];
            arr[i] = arr[locationOfMin];
            arr[locationOfMin] = temp;
        }
    }
    return arr;
}

冒泡排序

點此查看學習視頻ide

public int[] bubbleSort(int[] arr) {
     if (arr == null || arr.length < 2)
            return null;
     for (int i = arr.length -1;i >= 0;i--){
        for (int j = 0;j <= i;j++){
            if (arr[i] < arr[j]) {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
     }
    return arr;
}

插入排序

點擊查看學習視頻學習

public int[] insertSort(int[] arr) {
        if (arr == null || arr.length < 2)
            return null;
        for (int i = 1; i < arr.length; i ++) {
            if (arr[i - 1] > arr[i] ) {
                swap(arr, i -1, i);
                for (int j = i;j > 0;j --) {
                    if (arr[j] < arr[j - 1]) {
                            swap(arr, j, j-1);
                        }
                }
            }
        }
        return arr;
    }

    public void swap(int[] arr, int m, int n){
        arr[m] = arr[m] ^ arr[n];
        arr[n] = arr[m] ^ arr[n];
        arr[m] = arr[m] ^ arr[n];
    }
相關文章
相關標籤/搜索