原文地址http://www.cnblogs.com/liukemng/p/3715944.html
上一篇我們記錄了冒泡排序算法的實(shí)現(xiàn),這次我們來(lái)看直接選擇排序是如何實(shí)現(xiàn)的。
1.直接選擇排序:
基本思想:
直接選擇排序也是對(duì)被排序的序列進(jìn)行n-1次遍歷,與冒泡排序不同的是,它并不對(duì)本次遍歷序列內(nèi)的元素兩兩進(jìn)行比較并根據(jù)比較的結(jié)果來(lái)決定是否交換,而是找出本次遍歷的序列內(nèi)元素的最小值,并插入本次遍歷的開(kāi)始位置,直至遍歷完成序列有序,直接選擇排序算法的時(shí)間復(fù)雜度為O(n2);;
代碼實(shí)現(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)容。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注