swif 快速排序法

    func quickSorte(array:[Int],left:Int,right:Int){

        

        if left >= right {

            return

        }

//        let aa = array as! NSMutableArray

        var i = left

        var j = right

        let key = array[i]

        var aa = array

        while i < j {

            while i < j && aa[j] >= key {

                j = j - 1

            }

            aa.swapAt(i, j)

//                        swap(&array[i], &array[j])

            //            let aa = array as! NSMutableArray

//            aa.exchangeObject(at: i, withObjectAt: j)

            print("exchangeObject1: \(aa)")

            while i < j && aa[i] <= key {

                i = i + 1

            }

//            aa.exchangeObject(at: i, withObjectAt: j)

            aa.swapAt(i, j)

            print("exchangeObject2: \(aa)")


        }

        quickSorct(array: aa , left: left, right: i - 1)

        quickSorct(array: aa , left: right, right: i + 1)

    }

猜你喜欢

转载自blog.csdn.net/qq_24143647/article/details/79571905