Swift代碼實現冒泡排序演算法的簡單一實例_Swift

來源:互聯網
上載者:User

冒泡排序原理
1.對需要排序的資料,倆倆進行比較,小的放前面,大的放後面
2.依次對每一對相鄰的資料作步驟1的工作,當排序到最後一個元素的時候,我們能保證這個資料是最大。
3.針對所有的元素重複以上的步驟,除了最後一個(這裡為什麼需要針對除了最後一個元素的全部元素做一次呢,因為最後一個元素已經是最大的不需要排序了,同時,由於元素的交換,交換上來的元素的大小不一定比前面的元素的大,所以需要再做一次)。
4持續對越來越少的元素重複3的步驟,直到沒有任何一對元素需要比較。
時間複雜度
我們一般談最壞時間複製度
n(n-1)/2 = O(n²)

演算法穩定性
相同元素的前後順序並沒有改變,所以是一種穩定排序演算法

import Cocoavar 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迴圈方式,請各位指教、以及拍磚!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.