加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

QuickSort 标准快速排序算法

发布时间:2020-12-14 06:38:05 所属栏目:百科 来源:网络整理
导读:QuickSort 标准快速排序算法 import Foundation var sortArr :[Int] = [ 1 , 2 , 3 , 5 , 8 , 88 , 65 , 37 , 21 , 9 , 11 , 54 , 32 , 86 , 43 , 55 , 90 , 27 , 6 , 80 ] print ( "排序前------(sortArr)" );func quickSort ( arr:inout [Int],left:Int,r

QuickSort 标准快速排序算法

import Foundation


var sortArr :[Int]  = [1,2,3,5,8,88,65,37,21,9,11,54,32,86,43,55,90,27,6,80]
print("排序前------(sortArr)");

func quickSort ( arr:inout [Int],left:Int,right:Int) ->Void{
    if left >= right {
        return
    }
    var low  = left
    var high = right
    let key = arr[left]
    while low < high {
        while low < high && arr[high] > key {//比key小的左移
            high -= 1;
        }
        arr[low] = arr[high];
        while low < high && arr[low] < key {//比key大的右移
            low += 1;
        }
        arr[high] = arr[low];
    }
    arr[low] = key;//key的位置
    //接着递归处理即可
    quickSort(arr: &arr,left: left,right: low-1);
    quickSort(arr: &arr,left: low+1,right: right);
}

quickSort(arr: &sortArr,left: 0,right: sortArr.count-1);

print("排序后------(sortArr)")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读