算法 - 選擇排序

選擇排序.png
     /**
     * 選擇排序
     * @param array         待排序的數組
     * @param rules         排序規則 desc | asc
     */
    public static void selectSort(int[] array, String rules) {
        if (!(rules.length() == 0)) {
            if (!(array.length == 1 || array.length == 0)) {
                if ("asc".equals(rules)) {
                    //遍歷數組,獲得總的循環趟數
                    for (int i = 0; i < array.length - 1; i++) {
                        //依次獲得數組中第 i 個元素之后的每一個元素
                        for (int j = i; j < array.length; j++) {
                            //將第i個元素與其之后的每一個元素比較
                            if (array[i] > array[j]) {
                                int temp = array[j];
                                array[j] = array[i];
                                array[i] = temp;
                            }
                        }
                    }
                }
                if ("desc".equals(rules)) {
                    for (int i = 0; i < array.length - 1; i++) {
                        for (int j = i; j < array.length; j++) {
                            if (array[i] < array[j]) {
                                int temp = array[j];
                                array[j] = array[i];
                                array[i] = temp;
                            }
                        }
                    }
                } else {
                    return;
                }
            } else {
                return;
            }
        } else {
            return;
        }
    }
時間復雜度
空間復雜度
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容