冒泡排序对比两个元素的结果,之后根据大小交换位置的一种排序方法。
8和3对比,8大于3交换位置
8和6对比,8大于6,交换位置
8和12对比,小于12,则位置不变
12和1对比,大于1,交换位置
第二次冒泡排序
3和6对比,小于6,位置不变
6和8对比,小于8,则位置不变
8和1对比,大于1,则交换位置
第三次冒泡排序
3和6对比,小于6,位置不变
6和1对比,大于1,交换位置
第四次冒泡排序
3和1对比,大于1,交换位置
剩余一个元素排序完毕
class Solution {
func bubble(_ numbers:inout [Int]) {
guard numbers.count > 1 else {
return
}
var count = numbers.count
while count > 1 {
for i in 0 ..< (count - 1) {
let j = i + 1
let n1 = numbers[i]
let n2 = numbers[j]
if n2 < n1 {
numbers[i] = n2
numbers[j] = n1
}
print(numbers)
}
count -= 1
}
}
}