Scala-Scala实现冒泡排序算法

Posted on 2020-05-29 12:00  MissRong  阅读(1199)  评论(0)    收藏  举报

Scala-Scala实现冒泡排序算法

package suanfa

/**
  * 冒泡排序
  */
object MaoPaoPaiXu {
  def main(args: Array[String]): Unit = {
    /**
      * 算法分析:
      * 1.比较相邻的元素,如果第一个比第二个大就交换顺序
      * 2.对每一对相邻的元素都要从左往右做相同的工作
      *   第一轮遍历完以后,最后的元素就是最大的数
      * 3.针对所有的元素重复此步骤(除了已经排好序的元素)
      *
      * 程序分析:
      * 1.两层循环
      * 2.外层控制比较的次数
      * 3.内层控制比较的位置
      */
    println("*******************冒泡排序********************")
    var a=Array(12,6,8,4,10,7,1,5,3,9,2)
    println("---------排序前---------")
    a.foreach(println)
    for (i<- 0 until a.length-1){
      //遍历没有排好序的数
      for (j<-0 until a.length-1-i) {
        //如果前面的比后面的数大
        if(a(j)>a(j+1)){
          //交换
          var tmp=a(j)
          a(j)=a(j+1)
          a(j+1)=tmp
        }
      }
      println("####第"+(i+1)+"次排序####")
      a.foreach(println)
    }
    println("---------排序后---------")
    a.foreach(println)
  }
}

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3