先声明一个可变数组
var nums = [1,2,3,4,5,6,7,8]
元素交换核心代码
func swap<T>(_ nums:inout[T],_ a:Int,_ b:Int) {
let count = nums.count
if a == b || a < 0 || a > count - 1 || b < 0 || b > count - 1 {
return
}
(nums[a],nums[b]) = (nums[b],nums[a])
}
swap(&nums, 1, 3)
print(nums)
注意
- 为了防止数组越界或者a和b的值相等,进行一些特殊逻辑处理
- 我们可以使用元组的方式进行交互
- 为了适配各种类型 我们采用泛型方式交互