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輪回方法,請列位指教、和拍磚!