先聲明一個可變數(shù)組
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)
注意
- 為了防止數(shù)組越界或者a和b的值相等,進行一些特殊邏輯處理
- 我們可以使用元組的方式進行交互
- 為了適配各種類型 我們采用泛型方式交互