利用模式匹配编写一个 swaparr ArrayInt 函数交换数组中前两个元素的位置。所用数组如下:难度指数★★★Array1 2 3 4 5程序运行结果如下:新数组中的元素为:21345用Scala写完整代码怎么运行
代码如下:
def swap(arr: Array[Int]): Array[Int] = arr match {
case Array(a, b, rest @ _*) => Array(b, a) ++ rest
case _ => arr
}
val arr = Array(1, 2, 3, 4, 5)
val swappedArr = swap(arr)
println("新数组中的元素为:" + swappedArr.mkString(", "))
运行结果为:
新数组中的元素为:2, 1, 3, 4, 5
解释:
利用模式匹配,我们可以将数组分成两个部分:第一个元素和第二个元素,以及剩余的元素。然后将第一个元素和第二个元素交换位置,并将剩余的元素拼接在一起,得到新的数组。
在上面的代码中,我们使用了 @ 符号来表示剩余的元素。如果数组中只有一个元素或者没有元素,那么就返回原数组。
原文地址: https://www.cveoy.top/t/topic/cZYm 著作权归作者所有。请勿转载和采集!