国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 山东省| 炎陵县| 潢川县| 滨海县| 于都县| 玉龙| 长顺县| 石河子市| 凤凰县| 常德市| 六安市| 镇安县| 沭阳县| 罗定市| 昌平区| 澄城县| 会宁县| 嘉义县| 彩票| 朔州市| 股票| 碌曲县| 永宁县| 怀集县| 满洲里市| 蓝田县| 宣城市| 屏边| 桐庐县| 虞城县| 县级市| 高平市| 同江市| 汝阳县| 常德市| 西丰县| 彰化县| 县级市| 苍南县| 栾川县| 苍溪县|