gpt4 book ai didi

swift - MSD 基数排序实现 Swift

转载 作者:搜寻专家 更新时间:2023-11-01 05:32:39 26 4
gpt4 key购买 nike

尝试在Swift中实现一个MSD版本的radix版本

func sort(_ array: [Int]) -> [Int]{
var arr = array
let base = 10
var digitPosition = 10
while (digitPosition>0) {
var buckets = [[Int]](repeating: [], count: base)
for number in arr {
let remainder = number / digitPosition
let numberDigit = remainder % base // base is 10
buckets[numberDigit].append(number)
}
digitPosition /= base
arr = buckets.flatMap {$0}
}
return arr
}

运行排序的输入是:

sort([112,2,3,104,15])

我的桶的输出是这些:

[[112, 2, 3, 104, 15], [], [], [], [], [], [], [], [], []]
[[2, 3, 15], [112, 104], [], [], [], [], [], [], [], []]
[[2, 3, 104], [15, 112], [], [], [], [], [], [], [], []]
[[], [], [2, 112], [3], [104], [15], [], [], [], []]

这些都不正确。

<强>1。如何在 Swift 中将前面的 0 附加到整数

<强>2。如何从后续执行中删除单个存储桶整数?

最佳答案

如果你的意思是你想显示一个带前导零的整数:

let value = 3
print(String(format: "%03d", value))

会显示“003”

不确定“单桶整数”是什么意思

关于swift - MSD 基数排序实现 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53093976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com