用scala语言,任务:冒泡排序法 将6,-2,5,9,3,8,3,7,7,2由小到大进行排序
时间: 2024-09-10 08:09:56 浏览: 47
在Scala中,你可以使用经典的冒泡排序算法对数字列表进行升序排列。下面是一个简单的冒泡排序实现示例:
```scala
def bubbleSort(numbers: List[Int]): List[Int] = {
def swap(i: Int, j: Int): Unit = (numbers.updated(i, numbers(j)), numbers.updated(j, numbers(i)))
def swapIfGreater(i: Int, j: Int): Unit =
if (numbers(i) > numbers(j)) swap(i, j)
for {
_ <- 0 until (numbers.length - 1)
_ <- 0 until (numbers.length - 1 - i)
} {
swapIfGreater(i, i + 1)
}
numbers
}
val unsortedList = List(6, -2, 5, 9, 3, 8, 3, 7, 7, 2)
val sortedList = bubbleSort(unsortedList)
println("Sorted list in ascending order:", sortedList)
相关问题
使用scala语言,并用冒泡排序法 将6,-2,5,9,3,8,3,7,7,2由小到大进行排序
Scala是一种支持函数式编程的现代编程语言,它结合了面向对象和过程编程的优点。对于冒泡排序算法,这是一种简单的比较排序算法,通过不断交换相邻元素如果它们的顺序错误,直到整个序列都是有序的。
以下是使用Scala编写冒泡排序算法对给定整数列表从小到大排序的例子:
```scala
def bubbleSort(numbers: List[Int]): List[Int] = {
def swap(i: Int, j: Int): List[Int] = {
val temp = numbers(i)
numbers.updated(i, numbers(j))
numbers.updated(j, temp)
}
for (i <- 0 until numbers.length - 1) {
for (j <- 0 until numbers.length - i - 1) {
if (numbers(j) > numbers(j + 1)) {
swap(j, j + 1)
}
}
}
numbers
}
val numbersList = List(6, -2, 5, 9, 3, 8, 3, 7, 7, 2)
println("Sorted list: " + bubbleSort(numbersList))
阅读全文