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