在scala中实现BubbleSort

时间:2017-12-25 09:38:34

标签: scala bubble-sort

我正在尝试在Scala中实现冒泡排序。

这是我的实施:

object Example {

  def bubbleSort(arr:Array[Int])={
    var temp=0
    for(i<- 1 until arr.length-1 ; j<- 1 until (arr.length-1-i)){
      if(arr(j-1)>arr(j)) {
        temp=arr(j-1)
        arr(j-1)=arr(j)
        arr(j)=temp 
       }
     }
     arr
  }

  def main(args: Array[String]): Unit = {
    var x = bubbleSort(Array(3, 60, 35, 2, 45, 320, 5))
    println(x)
  }

}

问题是打印了以下输出:

[I@68be2bc2

有什么问题?

1 个答案:

答案 0 :(得分:0)

您的代码存在问题:

def main(args: Array[String]): Unit = {
    var x = bubbleSort(Array(3, 60, 35, 2, 45, 320, 5))
    println(x)
  }

你真的打印数组x的引用而不是它的元素。

打印数组的每个元素使用

def main(args: Array[String]): Unit = {
    var x = bubbleSort(Array(3, 60, 35, 2, 45, 320, 5))
    x.foreach(println)
  }