快速排序算法,scala版

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/EnterPine/article/details/88885419
def qsort(a:Array[Int],start:Int,end:Int): Unit ={
    
        if(start >= end){return}
        var i = start
        var j = end
        val key = a(start)
    
        while(i!=j) {
    
          var out = 0
          while (out == 0) {
            if (a(j) < key) {
              a(i) = a(j)
              out = 1
            } else if (j == i) {
              out = 1
            }
            else {
              j = j - 1
            }
          }
    
          out = 0
          while (out == 0) {
            if (a(i) > key) {
              a(j) = a(i)
              out = 1
            } else if (i == j) {
              out = 1
            } else {
              i = i + 1
            }
          }
    
    
        }
    
        a(i)=key
        qsort(a,start,i-1)
        qsort(a,i+1,end)
    
      }
      def main(args:Array[String]): Unit ={
        val a=Array(6,3,9,2,0,10,2,32,4)
    
        qsort(a,0,a.length-1)
        for(i <- a){
          print(i+" ")
    
        }
        println("")
      }

猜你喜欢

转载自blog.csdn.net/EnterPine/article/details/88885419