程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Swift代碼完成冒泡排序算法的復雜實例

Swift代碼完成冒泡排序算法的復雜實例

編輯:更多關於編程

Swift代碼完成冒泡排序算法的復雜實例。本站提示廣大學習愛好者:(Swift代碼完成冒泡排序算法的復雜實例)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift代碼完成冒泡排序算法的復雜實例正文


冒泡排序原理
1.對需求排序的數據,倆倆停止比擬,小的放後面,大的放前面
2.順次對每一對相鄰的數據作步驟1的任務,當排序到最後一個元素的時分,我們能保證這個數據是最大。
3.針對一切的元素反復以上的步驟,除了最後一個(這裡為什麼需求針對除了最後一個元素的全部元素做一次呢,由於最後一個元素曾經是最大的不需求排序了,同時,由於元素的交流,交流下去的元素的大小不一定比後面的元素的大,所以需求再做一次)。
4繼續對越來越少的元素反復3的步驟,直到沒有任何一對元素需求比擬。
時間復雜度
我們普通談最壞時間復制度
n(n-1)/2 = O(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)
}

運轉後果:

這裡的for循環運用的是C外面傳統的for循環方式,請各位指教、以及拍磚!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved