前端之家收集整理的这篇文章主要介绍了
QuickSort 标准快速排序算法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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)")
原文链接:https://www.f2er.com/swift/322701.html