Scalaプログラミングの挿入ソート

992 ワード

一、総説
ソート、これは非常に古典的で実用的なアルゴリズムです.どんなプログラミング言語を勉強しても、ソートアルゴリズムはソフトウェアエンジニアや研究開発エンジニアとして身につけなければならないものです.最近はScalaを勉強していますが、次にScala言語で挿入ソートアルゴリズムを実現します.
 
二、挿入ソートアルゴリズム
InsertSortというobjectオブジェクトの定義
/**
  * Created by user on 2016/1/22.
  */
object InsertSort {
   def sort(x: List[Int]): List[Int] = {
       if(x.isEmpty){
          Nil
       }else{
          insert(x.head,sort(x.tail))
       }
   }

   def insert(x: Int,xs: List[Int]): List[Int] = {
       if(xs.isEmpty || x <= xs.head){
          x :: xs
       }else{
          xs.head :: insert(x,xs.tail)
       }
   }

   def main(args: Array[String]) {
       val num = 2 :: 1 :: 4 :: 3 :: 5 :: 7 :: 0 :: Nil
       val result = sort(num)
       println("Insert Sort: " + result)
   }
}

 
三、テスト結果
       Insert Sort: List(0, 1, 2, 3, 4, 5, 7)