直接上代码
func bubblingSort(_ numbers : [Float]) -> [Float] {
var targetArr = numbers;
for tempNumber01 in targetArr.enumerated() {
for tempNumber02 in targetArr.enumerated(){
if tempNumber02.offset < numbers.count - tempNumber01.offset - 1 {
if targetArr[tempNumber02.offset] > targetArr[tempNumber02.offset + 1] {
targetArr.swapAt(tempNumber02.offset, tempNumber02.offset + 1)
}
}
}
}
return targetArr;
}
注意,由于forin循环的特性,不建议使用 tempNumber02.element
这个值作为比较的值,因为随着数组元素的改变,tempNumber02.element
同一位置的元素值不会变。