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

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

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

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

相關(guān)文章

  • Swift循環(huán)遍歷集合的方法總結(jié)分享

    Swift循環(huán)遍歷集合的方法總結(jié)分享

    SWIFT是蘋果于2014年WWDC發(fā)布的新開發(fā)語言,可與Objective-C*共同運(yùn)行于Mac OS和iOS平臺,用于搭建基于蘋果平臺的應(yīng)用程序。這篇文章主要給大家總結(jié)介紹了關(guān)于Swift循環(huán)遍歷集合的方法,如for-in循環(huán)、for循環(huán)以及基于塊的遍歷等方法,需要的朋友可以參考下。
    2017-03-03
  • Swift面試題及答案整理

    Swift面試題及答案整理

    雖然Swift出現(xiàn)的時間不久,但是它已經(jīng)成為最流行的編程語言之一了。Swift的知識浩如煙海,但是怎么測試你掌握了多少?通過下面這篇整理關(guān)于Swift面試題及答案,可能會對你所掌握的Swift進(jìn)行一個判斷,需要的朋友可以參考借鑒。
    2017-01-01
  • Swift編程中數(shù)組的使用方法指南

    Swift編程中數(shù)組的使用方法指南

    這篇文章主要介紹了Swift編程中數(shù)組的使用方法指南,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • Flutter iOS開發(fā)OC混編Swift動態(tài)庫和靜態(tài)庫問題填坑

    Flutter iOS開發(fā)OC混編Swift動態(tài)庫和靜態(tài)庫問題填坑

    這篇文章主要為大家介紹了Flutter iOS OC 混編 Swift動態(tài)庫和靜態(tài)庫問題填坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)詳解

    Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于Swift如何調(diào)用Objective-C的可變參數(shù)函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用swift具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • swift中c風(fēng)格的for循環(huán)執(zhí)行效率

    swift中c風(fēng)格的for循環(huán)執(zhí)行效率

    這篇文章主要介紹了swift中c風(fēng)格的for循環(huán)執(zhí)行效率 的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動效果

    Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動效果

    這篇文章主要為大家詳細(xì)介紹了Swift使用CollectionView實(shí)現(xiàn)廣告欄滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • SwiftUI中@ViewBuilder的相關(guān)知識點(diǎn)解密

    SwiftUI中@ViewBuilder的相關(guān)知識點(diǎn)解密

    IOS開發(fā)目前最主流的框架當(dāng)屬SwiftUI了,這篇文章主要給大家介紹了關(guān)于SwiftUI中@ViewBuilder的一些相關(guān)知識點(diǎn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-07-07
  • swift中自定義正則表達(dá)式運(yùn)算符=~詳解

    swift中自定義正則表達(dá)式運(yùn)算符=~詳解

    這篇文章主要給大家介紹了關(guān)于swift中自定義正則表達(dá)式運(yùn)算符=~的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 使用Swift實(shí)現(xiàn)iOS App中解析XML格式數(shù)據(jù)的教程

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

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

最新評論