Swift编程

Swift | 泛型交换数组中两个元素

2019-08-04  本文已影响0人  字符管理师

先声明一个可变数组

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)

注意

  1. 为了防止数组越界或者a和b的值相等,进行一些特殊逻辑处理
  2. 我们可以使用元组的方式进行交互
  3. 为了适配各种类型 我们采用泛型方式交互
上一篇 下一篇

猜你喜欢

热点阅读