基本介绍
- 将最大的往数组最后面扔
- 每一轮获取一个当前数组最大的值放到后面
例如:
原始数据: {7,-3,10,5,-1} 比较方法: {-3,7,10,5,-1} {-3,7,10,5,-1} {-3,7,5,10,-1} {-3,7,5,-1,10} {-3,7,5,-1,10} {-3,5,7,-1,10} {-3,5,-1,7,10} {-3,5,-1,7,10} {-3,-1,5,7,10} {-3,-1,5,7,10}
代码实现
package com.h.排序;//冒泡排序public class Bubbling {public int[] array;Bubbling(int[] array){this.array = array;}public void run(){int temp = 0;//循环条件是 i < array.length-1 原因: 防止比较的时候出现数组下表越界,保证 i+1 < array.lengthfor (int j = 0; j < array.length-1 ; j++) {//记录当前轮次是否有进行位置交换boolean flag = true;for (int i = 0; i <array.length-1-j ; i++) {if(array[i] > array[i+1] ){temp = array[i];array[i] = array[i+1];array[i+1] = temp;flag = false;}}//如果当前这轮没有进行交换 , 说明已经排序好了if(flag){return;}}}}
