gpt4 book ai didi

ios - 结果排序示例 Swift 未出现在 Playground 中

转载 作者:搜寻专家 更新时间:2023-11-01 06:44:24 25 4
gpt4 key购买 nike

我正在尝试计算一个在 developer.apple.com website 上提供的示例“快速 Playground ”。我不得不稍微调整一下,因为 swift 2 看起来在处理“inout”变量方面有所不同。在演示文稿中显示的示例中,函数声明中未使用“inout”。无论如何,尽管代码未显示任何编译错误,但“数据”的结果并未显示在 Playground 中。

import UIKit

var data = [16, 97, 13, 55, 95, 53, 18, 10, 79, 53, 79, 34, 50, 34, 0, 91, 94, 55, 6, 38, 7]

func exchange<T>(inout data:[T], i: Int, j: Int) {
let temp = data[i]
data[i] = data[j]
data[j] = temp
}

func swapLeft<T: Comparable>(inout data: [T], index: Int) {
for i in reverse(1...index) {
if data[i] < data[i-1] {
exchange(&data, i, i-1)
}else {
break
}
}
}

func isort<T: Comparable>(inout data: [T]) {
for i in 1...data.count {
swapLeft(&data,i)
}
}
data //result [16, 97, 13, 55, 95, 53, 18, 10, 79, 53, 79, 34, 50, 34, 0, 91, 94, 55, 6, 38, 7]
isort(&data)
data //no result shown

截图 Screenshot Playground

最佳答案

它没有显示结果,因为它因数组索引超出范围而崩溃。为 isort 试试这个:

func isort<T: Comparable>(inout data: [T]) {
for i in 1..<data.count {
swapLeft(&data,i)
}
}

关于ios - 结果排序示例 Swift 未出现在 Playground 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984654/

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