Swift-冒泡排序

冒泡排序算是入门排序,排序原理如下:
①比较相邻的元素。如果第一个比第二个大,就交换他们两个。
②对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
③持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
通过三种方式来实现排序过程:

` func bubbleSort(arr:inout [Int]) {
let count:Int = arr.count
for i in 0.. for j in i.. if arr[i] > arr[j] {
swap(&arr[i], &arr[j])
}
}
}
}

func bubbleSort1(arr:inout [Int]) {
    let count:Int = arr.count
    for i in 0.. arr[j+1] {
                swap(&arr[j], &arr[j+1])
            }
        }
    }
}

func bubbleSort2(arr:inout [Int]) {
    let count:Int = arr.count
    for i in (0.. arr[j+1] {
                swap(&arr[j], &arr[j+1])
            }
        }
    }
}`

测试代码:

` func bubbleSort() {
var bubbleArr:[Int] = [1,3,7,2,4,1,0]
let bubbleSort:BubbleSort = BubbleSort()
bubbleSort.bubbleSort(arr: &bubbleArr)
print("FlyElephant-冒泡排序之后的数组---(bubbleArr)")

    bubbleArr = [1,3,7,2,4,1,0]
    bubbleSort.bubbleSort1(arr: &bubbleArr)
    print("FlyElephant-冒泡排序之后的数组---\(bubbleArr)")
    
    bubbleArr = [1,3,7,2,4,1,0]
    bubbleSort.bubbleSort2(arr: &bubbleArr)
    print("FlyElephant-冒泡排序之后的数组---\(bubbleArr)")
}`

你可能感兴趣的:(Swift-冒泡排序)