原文地址http://www.cnblogs.com/liukemng/p/3715944.html
上一篇我們記錄了冒泡排序算法的實現(xiàn),這次我們來看直接選擇排序是如何實現(xiàn)的。
1.直接選擇排序:
基本思想:
直接選擇排序也是對被排序的序列進(jìn)行n-1次遍歷,與冒泡排序不同的是,它并不對本次遍歷序列內(nèi)的元素兩兩進(jìn)行比較并根據(jù)比較的結(jié)果來決定是否交換,而是找出本次遍歷的序列內(nèi)元素的最小值,并插入本次遍歷的開始位置,直至遍歷完成序列有序,直接選擇排序算法的時間復(fù)雜度為O(n2);;
代碼實現(xiàn):

/// <summary>/// 直接選擇排序/// </summary>/// <param name="intArray"></param>/// <param name="length"></param>public static void SelectSort(int[] intArray, int length){ int i, j, minIndex, temp; for (i = 0; i < length-1; i++) { minIndex=i; for (j = i + 1; j < length; j++) { if (intArray[minIndex] > intArray[j]) minIndex = j; } if (i != minIndex) { temp = intArray[i]; intArray[i] = intArray[minIndex]; intArray[minIndex] = temp; } }}
以上就是直接選擇排序的內(nèi)容。
新聞熱點
疑難解答