国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Swift > 正文

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

2020-03-09 17:48:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

Swift版實(shí)現(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不相等,說(shuō)明有比i位置更小的,所以需要交換  if min != i {   let temp = arr[i]   arr[i] = arr[min]   arr[min] = temp  } } return arr}


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到swift教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 息烽县| 吴川市| 德令哈市| 松阳县| 内丘县| 萍乡市| 长兴县| 乌拉特中旗| 沙湾县| 马公市| 独山县| 云安县| 象山县| 关岭| 青神县| 桃源县| 张家口市| 石泉县| 崇仁县| 稻城县| 阿克| 民丰县| 阳曲县| 麻阳| 卢湾区| 大田县| 集贤县| 苏尼特右旗| 二连浩特市| 永吉县| 新巴尔虎左旗| 阜阳市| 石林| 乌拉特中旗| 施甸县| 漳浦县| 繁昌县| 清苑县| 惠来县| 临洮县| 营口市|