冒泡排序最简单也最容易理解。相邻两两比较,如果第一个比第二个大则交换他们,像冒泡一样,因此得名。
    简单说就是 双重 for 循环。
    举例: 假设数组 [4,77,2,5,33,4,2,7,9,4,666,333,2,555,66,4,234] 使从小到大顺序排序
    Javascript

    1. const arr = [4,77,2,5,33,4,2,7,9,4,666,333,2,555,66,4,234]
    2. function bubbling(arr){
    3. for (let i = 0; i < arr.length; i++) {
    4. for (let j = i + 1; j < arr.length; j++) {
    5. let temp = arr[j]
    6. if (arr[i] > temp) {
    7. arr[j] = arr[i]
    8. arr[i] = temp
    9. }
    10. }
    11. }
    12. return arr
    13. }
    14. console.log(bubbling(arr))

    Swift

    1. func bubbling( arr:inout Array<Int>) -> Array<Int>{
    2. if arr.count < 1 {
    3. return arr
    4. }
    5. for i in 0 ..< (arr.count) {
    6. for j in (i + 1) ..< (arr.count ) {
    7. let temp = arr[j]
    8. if (arr[i] > temp) {
    9. arr[j] = arr[i]
    10. arr[i] = temp
    11. }
    12. }
    13. }
    14. return arr
    15. }