Swift-猴子排序

猴子排序 (Bogo Sort) 是个本质上是一个随机洗牌算法,不实用而且和原始,简单过程就是不断的对数组进行洗牌,一直到洗牌为有序为止,理想状况是一次成功,最差时间是无限,慎重使用,过程供参考.
核心代码:

` func sort(arr:inout [Int]) {
if arr.count == 0 {
return
}

    var sorted:Bool = isSorted(arr: arr)
    while sorted == false {
        shuffle(arr: &arr)
        sorted = isSorted(arr: arr)
    }
}

private func shuffle(arr:inout [Int]) {
    let count:Int = arr.count
    for i in 0..Bool {
    var isSorted:Bool = true
    for i in 0.. arr[i+1] {
            isSorted = false
            break
        }
    }
    return isSorted
}`

测试代码:

let bogoSort:BogoSort = BogoSort() var arr:[Int] = [2, 1] bogoSort.sort(arr: &arr) print("FlyElephant---猴子排序---\(arr)")

你可能感兴趣的:(Swift-猴子排序)