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

Swift代碼實(shí)現(xiàn)冒泡排序算法的簡單實(shí)例

 更新時(shí)間:2016年06月20日 09:30:56   作者:Coder2015  
冒牌排序可謂最基本的排序算法之一,穩(wěn)定而沒有優(yōu)化空間:D 下面就一起來看一下Swift代碼實(shí)現(xiàn)冒泡排序算法的簡單實(shí)例:

冒泡排序原理
1.對(duì)需要排序的數(shù)據(jù),倆倆進(jìn)行比較,小的放前面,大的放后面
2.依次對(duì)每一對(duì)相鄰的數(shù)據(jù)作步驟1的工作,當(dāng)排序到最后一個(gè)元素的時(shí)候,我們能保證這個(gè)數(shù)據(jù)是最大。
3.針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)(這里為什么需要針對(duì)除了最后一個(gè)元素的全部元素做一次呢,因?yàn)樽詈笠粋€(gè)元素已經(jīng)是最大的不需要排序了,同時(shí),由于元素的交換,交換上來的元素的大小不一定比前面的元素的大,所以需要再做一次)。
4持續(xù)對(duì)越來越少的元素重復(fù)3的步驟,直到?jīng)]有任何一對(duì)元素需要比較。
時(shí)間復(fù)雜度
我們一般談最壞時(shí)間復(fù)制度
n(n-1)/2 = O(n²)

算法穩(wěn)定性
相同元素的前后順序并沒有改變,所以是一種穩(wěn)定排序算法

import Cocoa

var array = [123,234,12,346,4,75,67,234,23,1233,3,5,986,98,567,345,234,234]

println("排序前的值:")

for item in array
{
  var ii = item
  println(ii)
}

for var i = 0; i < array.count - 1; ++i {
  for var j = 0; j < array.count - 1 - i; ++j{
    if array[j] > array[j + 1] {
      var temp = array[j + 1]
      array[j + 1] = array[j]
      array[j] = temp
    }
  }
}

println("排序后的值:")

for item in array
{
  var ii = item
  println(ii)
}

運(yùn)行結(jié)果:

201662092720810.png (636×286)

201662092751350.png (635×285)

201662092808783.png (638×537)

這里的for循環(huán)使用的是C里面?zhèn)鹘y(tǒng)的for循環(huán)方式,請(qǐng)各位指教、以及拍磚!

相關(guān)文章

  • Swift?Error重構(gòu)優(yōu)化詳解

    Swift?Error重構(gòu)優(yōu)化詳解

    這篇文章主要為大家介紹了Swift?Error的問題解決及重構(gòu)優(yōu)化方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Swift學(xué)習(xí)筆記之元組(tuples)

    Swift學(xué)習(xí)筆記之元組(tuples)

    這篇文章主要給大家介紹了Swift中元組(tuples)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • 關(guān)于Swift 4.1中的Codable改進(jìn)詳解

    關(guān)于Swift 4.1中的Codable改進(jìn)詳解

    這篇文章主要給大家介紹了關(guān)于Swift 4.1中的Codable改進(jìn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 判斷?ScrollView List?是否正在滾動(dòng)詳解

    判斷?ScrollView List?是否正在滾動(dòng)詳解

    這篇文章主要為大家介紹了判斷?ScrollView、List?是否正在滾動(dòng)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • swift中正確安全聲明一個(gè)單例的方法實(shí)例

    swift中正確安全聲明一個(gè)單例的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于swift中如何正確安全聲明一個(gè)單例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 詳解Swift中enum枚舉類型的用法

    詳解Swift中enum枚舉類型的用法

    Swift中通過enum關(guān)鍵字可以直接創(chuàng)建出枚舉對(duì)象,而且可以使用switch和case語句來進(jìn)行流程控制,十分強(qiáng)大和靈活,這里我們就來詳解Swift中enum枚舉類型的用法
    2016-06-06
  • Swift實(shí)現(xiàn)無限輪播效果

    Swift實(shí)現(xiàn)無限輪播效果

    這篇文章主要為大家詳細(xì)介紹了Swift無限輪播效果實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Swift設(shè)計(jì)思想Result<T>與Result<T,?E:?Error>類型解析

    Swift設(shè)計(jì)思想Result<T>與Result<T,?E:?Error>類型解析

    這篇文章主要為大家介紹了Swift設(shè)計(jì)思想Result<T>與Result<T,?E:?Error>的類型示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Swift 3.1聊天界面鍵盤效果的實(shí)現(xiàn)詳解

    Swift 3.1聊天界面鍵盤效果的實(shí)現(xiàn)詳解

    這篇文章主要給大家介紹了Swift 3.1聊天界面鍵盤效果實(shí)現(xiàn)的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • SwiftUI開發(fā)總結(jié)combine原理簡單示例詳解

    SwiftUI開發(fā)總結(jié)combine原理簡單示例詳解

    這篇文章主要為大家介紹了SwiftUI開發(fā)總結(jié)combine原理簡單示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評(píng)論

岳阳市| 陇川县| 蛟河市| 沂源县| 闸北区| 昆明市| 凌海市| 尖扎县| 海安县| 米林县| 龙泉市| 泾阳县| 江西省| 思南县| 乌拉特中旗| 霞浦县| 舟山市| 尼玛县| 中宁县| 即墨市| 海南省| 武胜县| 五大连池市| 镇沅| 渑池县| 桑日县| 桐梓县| 博乐市| 中阳县| 岱山县| 集安市| 富阳市| 奈曼旗| 宁河县| 高阳县| 屏东县| 宽城| 中山市| 高唐县| 池州市| 娱乐|