原文地址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)注