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
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
}
}