原文地址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)容。
新聞熱點
疑難解答