Bubblesort冒泡算法
2017-10-12 20:56 lc_java 阅读(235) 评论(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次?
呐,,,,这样可以减少循环次数,,还是有好处的吧