欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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
}

相關文章

  • switch實現(xiàn)一個兩數(shù)的運算代碼示例

    switch實現(xiàn)一個兩數(shù)的運算代碼示例

    這篇文章主要介紹了switch實現(xiàn)一個兩數(shù)的運算代碼示例,需要的朋友可以參考下
    2017-06-06
  • Swift HTTP加載請求Loading Requests教程

    Swift HTTP加載請求Loading Requests教程

    這篇文章主要為大家介紹了Swift HTTP加載請求Loading Requests教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Swift算法實現(xiàn)字符串轉(zhuǎn)數(shù)字的方法示例

    Swift算法實現(xiàn)字符串轉(zhuǎn)數(shù)字的方法示例

    最近學完了swift想著實踐下,就通過一些簡單的算法進行學習研究,下面這篇文章主要介紹了Swift算法實現(xiàn)字符串轉(zhuǎn)數(shù)字的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • Swift中排序算法的簡單取舍詳解

    Swift中排序算法的簡單取舍詳解

    對于排序算法, 通常簡單的, 為大家所熟知的有, 選擇排序, 冒泡排序, 快速排序, 當然還有哈希, 桶排序之類的, 本文僅比較最為常見的選擇, 冒泡和快排,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2018-03-03
  • 淺析Swift中struct與class的區(qū)別(匯編角度底層分析)

    淺析Swift中struct與class的區(qū)別(匯編角度底層分析)

    這篇文章主要介紹了Swift中struct與class的區(qū)別 ,本文從匯編角度分析struct與class的區(qū)別,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Swift中的常量和變量簡單概述

    Swift中的常量和變量簡單概述

    這篇文章主要介紹了Swift中的常量和變量簡單概述的相關資料,非常具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-05-05
  • Swift免費短信驗證碼實現(xiàn)及動態(tài)倒計時功能

    Swift免費短信驗證碼實現(xiàn)及動態(tài)倒計時功能

    這篇文章主要介紹了Swift免費短信驗證碼實現(xiàn)及動態(tài)倒計時功能的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • Swift實現(xiàn)表格視圖單元格單選(2)

    Swift實現(xiàn)表格視圖單元格單選(2)

    這篇文章主要為大家詳細介紹了Swift實現(xiàn)表格視圖單元格單選的第二篇,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Swift中常量和變量的區(qū)別與聲明詳解

    Swift中常量和變量的區(qū)別與聲明詳解

    Swift語言同樣和Java和OC等語言一樣是同樣是需要聲明常量和變量的,下面就讓我們來學習一下Swift的常量和變量。這篇文章主要給大家介紹了關于Swift中常量和變量的區(qū)別與聲明的相關資料,需要的朋友可以參考下。
    2017-11-11
  • 使用Swift實現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程

    使用Swift實現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程

    這篇文章主要介紹了使用Swift實現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程,講到了iOS中提供的NSXMLParser和NSXMLParserDelegate兩個API的用法,需要的朋友可以參考下
    2016-04-04

最新評論