java排序演算法之 選擇排序

2021-08-08 04:39:46 字數 710 閱讀 3956

選擇排序是一種非常簡單的排序演算法,從字面意思我們就可以知道,選擇就是從未排序好的序列中選擇出最小(最大)的元素,然後與第 i 趟排序的第 i-1(陣列中下標從 0 開始) 個位置的元素進行交換,第 i 個元素之

前的序列就是已經排序好的序列。整個排序過程只需要遍歷 n-1 趟便可排好,最後乙個元素自動為最大(最小)值。

舉個小例子:

arr =

第 1 趟排序: index = 0, min = 1,   交換後 -->  1,3,2,6,5,4

第 2 趟排序: index = 1, min = 2,   交換後 -->  1,2,3,6,5,4

第 3 趟排序: index = 2, min = 2,   交換後 -->  1,2,3,6,5,4

第 4 趟排序: index = 3, min = 5,   交換後 -->  1,2,3,4,5,6

第 5 趟排序: index = 4, min = 4,   交換後 -->  1,2,3,4,5,6

核心**如下:

/**

* 選擇排序,從小到大排序

*/public

static

void selectsort(int

arr)

}if(min != i)

}}

選擇排序演算法是一種不穩定的演算法,它的時間複雜度為 o(n2),空間複雜度為 o(1).

Java排序演算法之 選擇排序

package algorithm.sort 選擇排序 首先找出陣列中的最小元素,將其與陣列的第乙個元素交換,接著找出次小元素,將其與陣列的第二個元素交換 對陣列中的前n 1個元素執行這一過程 author administrator public class selectsort 交換最小元素與每...

JAVA排序演算法之 選擇排序

1.選擇排序 選擇排序的基本思想是遍歷陣列的過程中,以i代表當前需要排序的序號,則需要在剩餘的 i.n 1 中找出其中的最小值,然後將找到的最小值與i指向的值進行交換。因為每一次確定元素的過程中都會有乙個選擇很大值的子流程,所以稱之為選擇排序。比如 38,17,16,16,7,31,39,32,2,...

java演算法之選擇排序

public class selectionsort system.out.println 排序前 printarray arr 呼叫輸出方法 selectionsort arr 進行排序 system.out.println 排序後 printarray arr 呼叫輸出方法 選擇排序的實現 pu...