91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala中怎么實現數組排序

發布時間:2021-08-09 15:00:48 來源:億速云 閱讀:234 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關Scala中怎么實現數組排序,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Scala數組排序實現代碼

/**   * 快速排序的例子2   * @author VWPOLO   * < p>2009-8-12< /p>   */ object TestQuickSort2 {    def main(args : Array[String]) : Unit = {      var arrays = Array(123,343,5435,23,3213);      Console.println("排序前的結果");      arrays.foreach((array: Int ) => println(array))      arrays = sort(arrays);      Console.println("排序后的結果");      arrays.foreach((array: Int ) => println(array))    }        def sort(xs: Array[Int]):Array[Int] = {      if(xs.length < = 1)        xs;      else {        val pivot = xs(xs.length /2);        Array.concat(            sort(xs filter (pivot >)),                 xs filter (pivot ==),            sort(xs filter (pivot < ))        )      }    }  }

Scala數組排序快速實現代碼點評

sort(Array[Int])方法通過簡明的方式完成了傳統的快速排序功能:

1、判斷參數數組是否為空?如果為空說明排序完成,直接方法參數。

2、如果給定的參數數字不為空,取得數組的中間數。

3、根據中間數對參數數組進行拆分,通過調用Array的filter(p: A => Boolean)方法對數組進行分區并生成一個新的數組,"xs filter (pivot >)" 生成一個新的數組只包含小于pivot的數字,"xs filter (pivot ==)"里面的數組只包含等于pivot的數組,"xs filter (pivot < )"則包含大于pivot的數字,通過sort方法的迭代,完成了排序過程。

4、通過Array.concat方法合并多個數組,返回排序后的結果就行了。

sort方法指定了返回值但是方法塊中沒有"return" 語言,其實加不加都無所謂,Scala編譯器可以自動進行判斷。

Scala數組排序的優點

這種方式和傳統的快速排序方法在時間復雜度和空間復雜度相似,但是代碼卻大大的簡化了,不信你用Java寫一個對數字數組快速的排序方法(要自己寫,使用Collections.sort(List< T>)方法可不算啊)。

上述就是小編為大家分享的Scala中怎么實現數組排序了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福建省| 甘泉县| 彩票| 双江| 玉门市| 蓬安县| 宾阳县| 郴州市| 赣州市| 文化| 会泽县| 饶平县| 莱西市| 且末县| 井研县| 丰原市| 河南省| 宁陕县| 天台县| 新泰市| 米脂县| 庆安县| 安陆市| 威宁| 本溪| 平乡县| 九江县| 苍山县| 峡江县| 潢川县| 南通市| 滁州市| 克什克腾旗| 维西| 怀化市| 安阳市| 满城县| 永靖县| 澄城县| 西华县| 赫章县|