最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift實現(xiàn)Selection Sort選擇排序算法的實例講解

 更新時間:2016年07月06日 12:18:29   作者:Panl  
選擇排序是一種穩(wěn)定的排序算法,且實現(xiàn)代碼通常比冒泡排序要來的簡單,這里我們就來看一下Swift實現(xiàn)Selection Sort選擇排序的實例講解

選擇排序Selection Sort是一種和插入排序Insertion Sort類似的排序方法,它同樣只適用于對規(guī)模不大的集合進行排序。它的核心思想是,在序列內(nèi)部,把序列邏輯上分成已排序和未排序兩部分,不斷找到未排序部分中最符合排序規(guī)則的元素,添加進已排序部分,直到序列中所有元素都已經(jīng)添加到了已排序部分,此時,整個序列就排序完成了。
冒泡排序是兩兩比較不斷交換來實現(xiàn)排序,所以比較繁瑣。
而選擇排序  則是先選擇要交換的那個數(shù),才去交換。這樣就可以省去很多不必要的步驟。

Swift版實現(xiàn)示例:

func selectSort(var arr: [Int]) ->[Int] {
 var min = 0

 // 只需要n-1趟
 for var i = 0; i < arr.count - 1; ++i {
  min = i

  // 從第n+1趟起始找到末尾
  for var j = i + 1; j < arr.count; ++j {

   // 找到比min位置更小的,就更新這一趟所找到的最小值的位置
   if arr[j] < arr[min] {
    min = j
   }
  }

  // 如果min與i不相等,說明有比i位置更小的,所以需要交換
  if min != i {
   let temp = arr[i]
   arr[i] = arr[min]
   arr[min] = temp
  }
 }

 return arr
}

相關文章

  • Swift Extension擴展得使用詳細介紹

    Swift Extension擴展得使用詳細介紹

    在swift中,extension與Objective-C的category有點類似,但是extension比起category來說更加強大和靈活,它不僅可以擴展某種類型或結構體的方法,同時它還可以與protocol等結合使用,編寫出更加靈活和強大的代碼
    2022-09-09
  • Swift編程之枚舉類型詳解

    Swift編程之枚舉類型詳解

    這篇文章主要介紹了Swift編程之枚舉類型,講解了枚舉語法、匹配枚舉值與switch語句、關聯(lián)值、原始值等內(nèi)容,Swift中枚舉類型是最重要的類型,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 判斷?ScrollView List?是否正在滾動詳解

    判斷?ScrollView List?是否正在滾動詳解

    這篇文章主要為大家介紹了判斷?ScrollView、List?是否正在滾動示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Swift源碼解析之弱引用

    Swift源碼解析之弱引用

    這篇文章主要給大家介紹了關于Swift源碼解析之弱引用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • Swift?指針底層探索分析

    Swift?指針底層探索分析

    這篇文章主要為大家介紹了Swift?指針底層探索分析,主要包括指針的基本使用,以及指針的內(nèi)存綁定進行詳細分析,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Swift無限循環(huán)控件開發(fā)

    Swift無限循環(huán)控件開發(fā)

    這篇文章主要為大家詳細介紹了Swift無限循環(huán)控件開發(fā),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Swift中的限定擴展詳析

    Swift中的限定擴展詳析

    擴展就是向一個已有的類、結構體或枚舉類型添加新功能。下面這篇文章主要給大家介紹了關于Swift中限定擴展的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2018-03-03
  • 深入理解swift變量和函數(shù)

    深入理解swift變量和函數(shù)

    Swift 函數(shù)用來完成特定任務的獨立的代碼塊。這篇文章主要介紹了swift變量和函數(shù)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • Swift3遷移至Swift4可能遇到的問題小結

    Swift3遷移至Swift4可能遇到的問題小結

    每當看到新的編程語言我總是會有相當大的興趣,所以下面這篇文章主要給大家介紹了關于Swift3遷移至Swift4可能遇到的問題,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起學習學習吧
    2018-06-06
  • Swift TableView實現(xiàn)凍結窗格功能

    Swift TableView實現(xiàn)凍結窗格功能

    這篇文章主要為大家詳細介紹了Swift TableView實現(xiàn)凍結窗格功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論

阿尔山市| 林周县| 高安市| 原阳县| 教育| 萝北县| 紫阳县| 社旗县| 东安县| 武平县| 柳河县| 芜湖县| 伊宁县| 沙田区| 扬中市| 阳西县| 玉溪市| 富蕴县| 丰城市| 枞阳县| 澄江县| 沂南县| 永寿县| 乌拉特后旗| 双辽市| 仁怀市| 广昌县| 淮滨县| 密云县| 桐梓县| 祁阳县| 许昌县| 东丽区| 彩票| 报价| 渭南市| 苍南县| 潮州市| 华池县| 珲春市| 柳州市|