利用模式匹配编写一个 swaparr ArrayInt 函数交换数组中前两个元素的位置。所用数组如下:难度指数★★★Array1 2 3 4 5程序运行结果如下:新数组中的元素为:21345用Scala写完整代码
def swap(arr: Array[Int]): Array[Int] = {
arr match {
case Array(x, y, rest @ _*) => Array(y, x) ++ rest
case _ => arr
}
}
val arr = Array(1, 2, 3, 4, 5)
val swappedArr = swap(arr)
println("新数组中的元素为:" + swappedArr.mkString(", ")) // 输出:新数组中的元素为:2, 1, 3, 4, 5
解析:
利用模式匹配可以方便地对数组进行操作。在这里,我们使用 case Array(x, y, rest @ _) 匹配数组,其中 x 和 y 分别表示数组中的前两个元素,rest @ _ 表示剩余的元素。然后,我们将 y 和 x 组成一个新的数组,并将剩余元素与其连接起来,得到交换后的新数组。如果数组不满足匹配条件,则直接返回原数组。
原文地址: https://www.cveoy.top/t/topic/cZXa 著作权归作者所有。请勿转载和采集!