# éæ©æåº éæ©æåºæ¯ä¸ç§ç®åç´è§çæåºç®æ³ï¼æ 论ä»ä¹æ°æ®è¿å»é½æ¯ O(n²) çæ¶é´å¤æåº¦ãæä»¥ç¨å°å®çæ¶åï¼æ°æ®è§æ¨¡è¶å°è¶å¥½ãå¯ä¸ç好å¤å¯è½å°±æ¯ä¸å ç¨é¢å¤çå å空é´äºå§ã ## 1. ç®æ³æ¥éª¤ 1. é¦å 卿ªæåºåºå䏿¾å°æå°ï¼å¤§ï¼å ç´ ï¼åæ¾å°æåºåºåçèµ·å§ä½ç½® 2. åä»å©ä½æªæåºå ç´ ä¸ç»§ç»å¯»æ¾æå°ï¼å¤§ï¼å ç´ ï¼ç¶åæ¾å°å·²æåºåºåçæ«å°¾ã 3. éå¤ç¬¬äºæ¥ï¼ç´å°ææå ç´ åæåºå®æ¯ã ## 2. å¨å¾æ¼ç¤º  ## 3. JavaScript 代ç å®ç° ```js function selectionSort(arr) { var len = arr.length; var minIndex, temp; for (var i = 0; i < len - 1; i++) { minIndex = i; for (var j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { // å¯»æ¾æå°çæ° minIndex = j; // å°æå°æ°çç´¢å¼ä¿å } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } return arr; } ``` ## 4. Python 代ç å®ç° ```python def selectionSort(arr): for i in range(len(arr) - 1): # è®°å½æå°æ°çç´¢å¼ minIndex = i for j in range(i + 1, len(arr)): if arr[j] < arr[minIndex]: minIndex = j # i 䏿¯æå°æ°æ¶ï¼å° i åæå°æ°è¿è¡äº¤æ¢ if i != minIndex: arr[i], arr[minIndex] = arr[minIndex], arr[i] return arr ``` ## 5. Go 代ç å®ç° ```go func selectionSort(arr []int) []int { length := len(arr) for i := 0; i < length-1; i++ { min := i for j := i + 1; j < length; j++ { if arr[min] > arr[j] { min = j } } arr[i], arr[min] = arr[min], arr[i] } return arr } ``` ## 6. Java 代ç å®ç° ```java public class SelectionSort implements IArraySort { @Override public int[] sort(int[] sourceArray) throws Exception { int[] arr = Arrays.copyOf(sourceArray, sourceArray.length); // æ»å ±è¦ç»è¿ N-1 è½®æ¯è¾ for (int i = 0; i < arr.length - 1; i++) { int min = i; // æ¯è½®éè¦æ¯è¾çæ¬¡æ° N-i for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[min]) { // è®°å½ç®åè½æ¾å°çæå°å¼å ç´ ç䏿 min = j; } } // å°æ¾å°çæå°å¼åiä½ç½®æå¨çå¼è¿è¡äº¤æ¢ if (i != min) { int tmp = arr[i]; arr[i] = arr[min]; arr[min] = tmp; } } return arr; } } ``` ## 7. PHP 代ç å®ç° ```php function selectionSort($arr) { $len = count($arr); for ($i = 0; $i < $len - 1; $i++) { $minIndex = $i; for ($j = $i + 1; $j < $len; $j++) { if ($arr[$j] < $arr[$minIndex]) { $minIndex = $j; } } $temp = $arr[$i]; $arr[$i] = $arr[$minIndex]; $arr[$minIndex] = $temp; } return $arr; } ```