冒泡排序的实例
/**
冒泡排序:
{6,3,1,2,5,4}
第一轮找到最大的元素 6
6>3 true {3,6,1,2,5,4}
6>1 true {3,1,6,2,5,4}
6>2 true {3,1,2,6,5,4}
6>5 true {3,1,2,5,6,4}
6>4 true {3,1,2,5,4,6}
第二轮找到第二大的元素 5
3>1 true {1,3,2,5,4,6}
3>2 true {1,2,3,5,4,6}
3>5 false {1,2,3,5,4,6}
5>4 true {1,2,3,4,5,6}
第三轮找到第三大的元素 4
1>2 false {1,2,3,4,5,6}
2>3 false {1,2,3,4,5,6}
3>4 false {1,2,3,4,5,6}
第四轮找到第四大的元素 3
1>2 false {1,2,3,4,5,6}
2>3 false {1,2,3,4,5,6}
第五轮找到第五大的元素 2
1>2 false {1,2,3,4,5,6}外层循环的轮数的范围:i = 0;
i<length-1;
每轮的次数yongj来表示:
j = 0;
j<length-1-i;
*/
import java.util.Arrays;
public class ArrayDemo01{
public static void main(String[]args){
int [] arr1 = {15, 67, 26, 43, 61, 25, 84, 80, 34, 70};
/*要求数组里的元素按照从小到大排序*/
for(int i = 0;i<arr1.length-1;i++){
System.out.println("第"+(i+1)+"轮");
boolean f = true;//每一轮都定义一个开关
for(int j = 0;j<arr1.length-1-i ;j++ ){
if(arr1[j]>arr1[j+1]){
int t = arr1[j];
arr1[j] = arr1[j+1];
arr1[j+1] = t;
f = false; //发生交换,修改开关的
}
System.out.println(Arrays.toString(arr1));
}
//此轮结束,查看开关状态
if(f){
//开关状态没变,说明已经完成了排序
break;
//所以不用继续下一轮了
}
}
}
}
Java基础数组之冒泡排序的练习
最新推荐文章于 2022-04-29 16:57:15 发布