java冒泡排序
冒泡排序法是一种简单的排序算法,它重复地访问排序的数组,一次比较两个元素,如果俩个元素大小顺序错误就把他们交换。数组的工作是重复地进行,一直到数组已经排序完成。java 冒泡排序属于冒泡排序的一种。
首先创建一个数组
int[] arr = { 3, 9, -1, 10, -2 };
然后定义内外层循环,外层循环控制循环此数,内层循环控制每次循环过程中俩俩交换每个元素
for (int i = 1; i < arr.length; i++) {//外层循环
for (int j = 0; j < arr.length - i; j++) {//内层循环
if (arr[j] > arr[j + 1]) {
int temp = arr[j]; //定义一个用于交换的int型变量
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
冒泡排序动图如下:
冒泡循环过程如下
第一轮排序(i=1)排序轮数=元素个数-1,j的数字
arr[j=0]与arr[j=1]比较,变成【3,-1,9,-2,10】(从arr[0]开始依次往后俩俩比较)
arr[1]与arr[2]比较,变成【3,-1,-2,9,10】从arr[1]开始依次往后俩俩比较)
arr[2]与arr[3]比较,变成【3,-1,-2,9,10】从arr[2]开始依次往后俩俩比较)
arr[3]与arr[4]比较,变成【3,-1,-2,9,10】从arr[3]开始依次往后俩俩比较)
第一轮循环把最大的10,循环置换在最后一位
第一轮排序后结果为【3,-1,-2,9,10】
第二轮排序(i=2)j的数字
arr[0]与arr[1]比较,变成【-1,3,-2,9,10】(从arr[0]开始依次往后俩俩比较)
arr[1]与arr[2]比较,变成【-1,-2,3,9,10】从arr[1]开始依次往后俩俩比较)
arr[2]与arr[3]比较,变成【-1,-2,3,9,10】从arr[2]开始依次往后俩俩比较)
第二轮循环把第二大的9,循环置换在倒数第二位
第二轮排序后结果为【-1,-2,3,9,10】
第三轮排序(i=3)j的数字
arr[0]与arr[1]比较,变成【-2,-1,3,9,10】(从arr[0]开始依次往后俩俩比较)
arr[1]与arr[2]比较,变成【-2,-1,3,9,10】从arr[1]开始依次往后俩俩比较)
第三轮循环把第三大的3,循环置换在倒数第三位
第三轮排序后结果为【-2,-1,3,9,10】
第四轮排序(i=4)j的数字
arr[0]与arr[1]比较,变成【-2,-1,3,9,10】(从arr[0]开始依次往后俩俩比较)
第四轮循环把第四大的-1,循环置换在第二位
第四轮排序后结果为【-2,-1,3,9,10】
最后输出排序结果如下:
System.out.println(“排序后结果为:”);
System.out.print(“{”);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " “);
}
System.out.print(”}");
作者:答学网,转载请注明原文链接:http://www.dxzl8.com/