8種排序演算法 直接選擇排序

2021-09-07 22:00:46 字數 983 閱讀 6621

直接選擇排:這種排序思想。直接選擇排序顧名思義:就是重一堆中每次取出最大數(或者最小數)依次排列:

有這麼一組數:9 1 5 4 8 7 4 6 6

採用選擇排序是這麼的:

第1次                 1 9 5 4 8 7 4 6 6   首先重開始的裡面選擇最小的,交換位置

第2次                1 4 5 9 8 7 4 6 6    接著又從上面黑色數字裡面選最小的

第3次                 1 4 4 9 8 7 5 6 6    重複

第4次                 1 4 4 58 7 96 6

第5次                 1 4 4 56 7 9 8 6

第6次                  1 4 4 5 6 6 9 8 7

第7次                 1 4 4 56 6 7 8 9

第8次                   1 4 4 5 6 6 7 8 9

下面看看**實現:

packagecom.fish.sort;

public

classselectsort ;

// 排序

myresult(array);

}public

static

voidmyresult(intarray)

}if(i != minindex)

}system.out

.println("

結果是:");

for(inti = 0; i < array.length; i++) }}

這種排序時間演算法複雜度是n^2 空間複雜度為1 是不穩定的排序。

排序演算法(直接選擇排序)

為什麼我們要叫直接選擇排序呢?在最開始的時候,待排序區間是整個陣列,從區間選乙個最小的與區間第乙個交換位置,然後將待排序區間從第二個開始,繼續以上操作,直至待排序區間長度為0 我們還是以為例 初始 3 5 7 9 8 6 2 1 4 0 第一趟 05 7 9 8 6 2 1 4 3 第二趟 0 17...

排序演算法 直接選擇排序

選擇排序的基本思想是 每一趟從待排序的記錄中選出關鍵字最小的記錄,順序放入已排序數列的最後,直到全部記錄排序完畢。直接選擇排序是一種簡單直觀的排序演算法。它的工作原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列...

排序演算法之直接選擇排序

直接選擇排序是將整個待排序序列分為兩部分,一部分為有序 最開始有序序列為空 一部分為無序 最終無序序列為空 有序序列中的數都不大於無序序列中的數。它的過程是每次都在無序中尋找乙個最小的數,然後將其與無序序列的第乙個數交換,並併入有序序列。則有序序列長度增1,無序序列長度減1。比如 對r 0 n 陣列...