sort.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 49 行

SCALA
49
字号
package examplesobject sort {  def sort(a: Array[Int]) {    def swap(i: Int, j: Int) {      val t = a(i); a(i) = a(j); a(j) = t    }    def sort1(l: Int, r: Int) {      val pivot = a((l + r) / 2)      var i = l      var j = r      while (i <= j) {        while (a(i) < pivot) { i += 1 }        while (a(j) > pivot) { j -= 1 }        if (i <= j) {          swap(i, j)          i += 1          j -= 1        }      }      if (l < j) sort1(l, j)      if (j < r) sort1(i, r)    }    if (a.length > 0)      sort1(0, a.length - 1)  }  def println(ar: Array[Int]) {    def print1 = {      def iter(i: Int): String =        ar(i) + (if (i < ar.length-1) "," + iter(i+1) else "")      if (ar.length == 0) "" else iter(0)    }    Console.println("[" + print1 + "]")  }  def main(args: Array[String]) {    val ar = Array(6, 2, 8, 5, 1)    println(ar)    sort(ar)    println(ar)  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?