Java冒泡排序法
冒泡排序基本思想:一组元素,拿两个相邻的元素作比较,此处我们不妨升序排列,
如果左边的数比右边的数大,则将其交换位置,反之位置不变,然后按照这样的方式依次比较,直到将最大的数移到右边;一轮执行完,继续下一轮,此时我们将右边的最大的元素位置固定,也就是不参与比较;然后还是依照上述规则比较,这样重复比较,直到的到排序后的结果。
实现图解:
具体代码实现:
import java.util.Arrays;
/**
*
* @author Administrator
* 冒泡排序
*/
public class StaText {
public static void main(String[] args) {
//创建一个作为排序的数组
int[] arr = {123, 231, 555, -221, 685, -90, 88};
System.out.println("排序前的数组:" + Arrays.toString(arr));
//调用方法
bubleSort(arr);
System.out.println("排序后的数组:" + Arrays.toString(arr));
}
public static void bubleSort(int[] arr) {
for(int i = 1; i < arr.length; i++) {
for(int j = 0; j < arr.length - i; j++) {
//arr[j];
//arr[j + 1];
//比较相邻两个元素的大小
if(arr[j] > arr[j +1]) {
//定义中间变量完成交换位置
int num = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = num;
}
}
}
}
}
运行结果:
排序前的数组:[123, 231, 555, -221, 685, -90, 88]
排序后的数组:[-221, -90, 88, 123, 231, 555, 685]