原文地址http://www.cnblogs.com/liukemng/p/3715944.html
上一篇我們記錄了冒泡排序算法的實現,這次我們來看直接選擇排序是如何實現的。
1.直接選擇排序:
基本思想:
直接選擇排序也是對被排序的序列進行n-1次遍歷,與冒泡排序不同的是,它并不對本次遍歷序列內的元素兩兩進行比較并根據比較的結果來決定是否交換,而是找出本次遍歷的序列內元素的最小值,并插入本次遍歷的開始位置,直至遍歷完成序列有序,直接選擇排序算法的時間復雜度為O(n2);;
代碼實現:
/// <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; } }}以上就是直接選擇排序的內容。
新聞熱點
疑難解答