它的工作原理是每一次在带排序的[数据元素]中依次比较两个相邻的元素,如果一个元素小(大)于另外一个元素,就交换过来,然后重复比较一直到最后一个元素。以此类推,直到全部待排序的数据元素排完。
冒泡排序是稳定的排序方法,时间复杂度为O(n^2),空间复杂度为O(1)
func bubbleSort(list:Array<Int>) -> Array<Int>{
var arr = list
for _ in 0..<arr.count
{
for j in 0..<arr.count-1
{
if (arr[j] > arr[j+1])
{
let t = arr[j+1]
arr[j+1] = arr[j]
arr[j] = t
}
}
}
return arr
}
print(bubbleSort(list: [5,3,8,0,1,3,6,4,9,6]))
网友评论