请用swift实现桶排序
func bucketSort(_ array: [Int]) -> [Int] {
// 创建一个桶数组,桶的数量为最大值加1
var bucket = Array(repeating: 0, count: array.max()! + 1)
// 把每个元素放到对应的桶中
for num in array {
bucket[num] += 1
}
// 把桶中的元素按顺序取出来,组成一个新的有序数组
var sortedArray = [Int]()
for i in 0..<bucket.count {
for _ in 0..<bucket[i] {
sortedArray.append(i)
}
}
return sortedArray
}
// 测试
let array = [5, 3, 8, 4, 2]
let sortedArray = bucketSort(array)
print(sortedArray) // [2, 3, 4, 5, 8]
原文地址: https://www.cveoy.top/t/topic/fPt 著作权归作者所有。请勿转载和采集!