代码改变世界

Bubblesort冒泡算法

2017-10-12 20:56  lc_java  阅读(232)  评论(0编辑  收藏  举报

最简单的算法,大家都知道两层for循环,中间加一个过渡用来交换数据

小例子:

package com.neuedu.algorithm;//算法

public class Bubblesort {
//冒泡排序
	
	public static void main(String[] args) {
		int a[] = {234,56,3,2345,546,7,3,2345};
		//外层循环控制遍历的次数
		for(int j=0;j<a.length-1;j++) {
		//内层循环控制移位最小值
		for(int i=0;i<a.length-1-j;i++) {
			if(a[i]>a[i+1]) {
				int s=a[i];//先把最大值拿出来
				a[i]=a[i+1];//然后把小的数放到前面去
				a[i+1]=s;//最后把大的值放到后面
			}
		  }
		}
		for(int i=0;i<a.length;i++) {
			System.out.println(a[i]);
		}
	
	}
}

  普通到不能再普通的算法,但也有它的优势

 外层循环是length-1;内层是length-1-j次,通常自己写是不是两层都是循环length次?

呐,,,,这样可以减少循环次数,,还是有好处的吧