scala冒泡排序

scala中的冒泡排序

排序原理
  1、拿第一个去和后面的n-1进行比较,每次都将最小的放在第一位
  2、拿第二个和后面的n-2进行比较,每次都将最小的放在第一位
  3、依此类推。。。。。。
  例子:10,9,8,7,6,5,4,3,2,1,0
  下面是每一步的排序结果:
  10 9 8 7 6 5 4 3 2 1 0
  9 10 8 7 6 5 4 3 2 1 0
  8 10 9 7 6 5 4 3 2 1 0
  7 10 9 8 6 5 4 3 2 1 0
  6 10 9 8 7 5 4 3 2 1 0
  5 10 9 8 7 6 4 3 2 1 0
  4 10 9 8 7 6 5 3 2 1 0
  3 10 9 8 7 6 5 4 2 1 0
  2 10 9 8 7 6 5 4 3 1 0
  1 10 9 8 7 6 5 4 3 2 0
  0 10 9 8 7 6 5 4 3 2 1
  0 10 9 8 7 6 5 4 3 2 1
  0 9 10 8 7 6 5 4 3 2 1
  0 8 10 9 7 6 5 4 3 2 1
  0 7 10 9 8 6 5 4 3 2 1
  0 6 10 9 8 7 5 4 3 2 1
  0 5 10 9 8 7 6 4 3 2 1
  0 4 10 9 8 7 6 5 3 2 1
  0 3 10 9 8 7 6 5 4 2 1
  0 2 10 9 8 7 6 5 4 3 1
  0 1 10 9 8 7 6 5 4 3 2
  0 1 10 9 8 7 6 5 4 3 2
  0 1 9 10 8 7 6 5 4 3 2
  0 1 8 10 9 7 6 5 4 3 2
  0 1 7 10 9 8 6 5 4 3 2
  0 1 6 10 9 8 7 5 4 3 2
  0 1 5 10 9 8 7 6 4 3 2
  0 1 4 10 9 8 7 6 5 3 2
  0 1 3 10 9 8 7 6 5 4 2
  0 1 2 10 9 8 7 6 5 4 3
  0 1 2 10 9 8 7 6 5 4 3
  0 1 2 9 10 8 7 6 5 4 3
  0 1 2 8 10 9 7 6 5 4 3
  0 1 2 7 10 9 8 6 5 4 3
  0 1 2 6 10 9 8 7 5 4 3
  0 1 2 5 10 9 8 7 6 4 3
  0 1 2 4 10 9 8 7 6 5 3
  0 1 2 3 10 9 8 7 6 5 4
  0 1 2 3 10 9 8 7 6 5 4
  0 1 2 3 9 10 8 7 6 5 4
  0 1 2 3 8 10 9 7 6 5 4
  0 1 2 3 7 10 9 8 6 5 4
  0 1 2 3 6 10 9 8 7 5 4
  0 1 2 3 5 10 9 8 7 6 4
  0 1 2 3 4 10 9 8 7 6 5
  0 1 2 3 4 10 9 8 7 6 5
  0 1 2 3 4 9 10 8 7 6 5
  0 1 2 3 4 8 10 9 7 6 5
  0 1 2 3 4 7 10 9 8 6 5
  0 1 2 3 4 6 10 9 8 7 5
  0 1 2 3 4 5 10 9 8 7 6
  0 1 2 3 4 5 10 9 8 7 6
  0 1 2 3 4 5 9 10 8 7 6
  0 1 2 3 4 5 8 10 9 7 6
  0 1 2 3 4 5 7 10 9 8 6
  0 1 2 3 4 5 6 10 9 8 7
  0 1 2 3 4 5 6 10 9 8 7
  0 1 2 3 4 5 6 9 10 8 7
  0 1 2 3 4 5 6 8 10 9 7
  0 1 2 3 4 5 6 7 10 9 8
  0 1 2 3 4 5 6 7 10 9 8
  0 1 2 3 4 5 6 7 9 10 8
  0 1 2 3 4 5 6 7 8 10 9
  0 1 2 3 4 5 6 7 8 10 9
  0 1 2 3 4 5 6 7 8 9 10
  0 1 2 3 4 5 6 7 8 9 10
scala代码
package com.data.read.sort

/**
  * @author wdh
  * cread by 2020.07.14
  * @define 冒泡排序
  *   1、拿第一个去和后面的n-1进行比较,每次都将最小的放在第一位
  *   2、拿第二个和后面的n-2进行比较,每次都将最小的放在第一位
  *   3、依此类推。。。。。。
  */
object BUbbleSort {
  def main(args: Array[String]): Unit = {
    val array = Array(10,9,8,7,6,5,4,3,2,1,0)
    bubbleSort(array)
  }
  //冒泡排序
  def  bubbleSort(arr:Array[Int])={
     for (i <- 0 to arr.length-1){
        for (j <- i to arr.length-1){
           var temp:Int = 0
           if (arr(i) > arr(j)){
             temp = arr(i)
             arr(i) = arr(j)
             arr(j) = temp
           }
          println(arr.mkString(" "))
        }
     }
    arr
  }
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值