【问题标题】:implementing BubbleSort in scala [duplicate]在scala中实现BubbleSort [重复]
【发布时间】:2017-12-25 09:38:34
【问题描述】:

我正在尝试在 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

有什么问题?

【问题讨论】:

  • 打印时添加.mkString(",")。数组通常打印不好。在 Java 中你会说 Arrays.toString(x)
  • 感谢 Stefanobaghino,它有效

标签: scala bubble-sort


【解决方案1】:

你的代码有问题:

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)
  }

【讨论】:

    猜你喜欢
    • 2013-03-16
    • 2015-11-02
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 2011-06-07
    相关资源
    最近更新 更多