Arrays 如何交换奇数数组?
如何交换奇数数组?每次数组为奇数时,索引都超出范围。如果最后一个数组是奇数的,它不会进行交换,我怎么能有一个检查器呢Arrays 如何交换奇数数组?,arrays,swift,swap,Arrays,Swift,Swap,如何交换奇数数组?每次数组为奇数时,索引都超出范围。如果最后一个数组是奇数的,它不会进行交换,我怎么能有一个检查器呢 var list = [1,2,3,4,5,6,7,8,9,10,11] if list.count > 0 { for index in 2..<list.count { if index % 2 == 0 { list.swapAt(index, index + 1) } } } var
var list = [1,2,3,4,5,6,7,8,9,10,11]
if list.count > 0 {
for index in 2..<list.count {
if index % 2 == 0 {
list.swapAt(index, index + 1)
}
}
}
var list=[1,2,3,4,5,6,7,8,9,10,11]
如果list.count>0{
对于2..中的索引,进行交换,直到list.count-1
,这样它就不会超出列表范围
var list = [1,2,3,4,5,6,7,8,9,10,11]
if list.count > 0 {
for index in stride(from: 2, to: list.count - 1, by: 2){
list.swapAt(index,index+1)
}
}
简单想想。最大索引是列表。count-1
和要交换的对中第一个的索引必须小于该值。现在只需使用,而:
var index = 0
while index < list.count-1
{
list.swapAt(index, index+1) // swap current pair
index += 2 // increment by 2 to get to next pair
}
var索引=0
而索引
我将用替换
的,如果
的第二个替换为跨步索引的(从:2,到:list.count-1,由:2)
。猜测by:2
甚至没有必要。它只是用来防止超出范围
错误。我相信第二个if
是用来交换赔率较高的偶数。结果将是1,2,4,3,6,5,8,7,10,9,11
。出于某种原因,OP选择不交换第一对。