2017-12-25 3 views
0

Ich versuche, Bubble Sort in Scala zu implementieren.Implementierung BubbleSort in Scala

Dies ist meine Implementierung:

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

} 

Das Problem ist, dass die folgende Ausgabe gedruckt wird:

[[email protected] 

Was ist das Problem?

+1

Add '.mkString ("")', wenn Sie println verwenden zu drucken. Arrays werden normalerweise nicht gut gedruckt. In Java würden Sie sagen "Arrays.toString (x)" –

+0

Danke Stefanobaghino, es funktioniert –

Antwort

0

Das Problem mit Ihrem Code ist hier:

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

Sie drucken die Referenz des Array wirklich x nicht die Elemente davon.

jedes Element des Arrays

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