我正在 Swift 中创建一个简单的选择排序。在我的排序方法中,调用用于交换数组内值的方法时出现错误。
class func sort(a:[String]) {
var N = a.count
for(var i = 0; i < N; i++) {
var min = i
for(var j = i+1; j < N; j++) {
if(less(a[i], str2:a[j])) {
min = j
}
}
exch(&a, i, min) // Error: [String] not convertible to @value inout $T3
}
}
交换方法:
class func exch(inout a:[String], i:Int, j:Int) {
let temp = a[i]
a[i] = a[j]
a[j] = temp
}
谢谢您的帮助!:)