排序(一) 冒泡排序

代码链接

冒泡排序

轻者上浮,冒泡排序就是依次对比两个元素的大小,如果顺序错误就把它们进行交换。

过程

  • 取第一个元素和第二个元素进行比较,如果第一个大就交换;
  • 对第三个、第四个、… 执行相同操作,直到最后一个元素,这样结束后,最后一个元素最大
  • 重复上面的步骤,但是不除去最后一个元素
  • 重复上面的步骤,直到排序完成

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14

func bubbleSort(_ array: [Int]) -> [Int] {

var arr = array
for i in 0 ..< arr.count {

for j in 0 ..< arr.count - 1 - i {
if arr[j] > arr[j + 1]{
arr.swapAt(j, j + 1)
}
}
}
return arr
}

复杂度

  1. 时间复杂度: O(n²)
  2. 空间复杂度: O(1)
-------------本文结束谢谢欣赏-------------
Alice wechat