public class Test { public static void main(String[] args) { int num[] = {11,10,13,12,9}; //这个是用来保存最大数字的 int t = 0; //标记 int flag = 0; //第一个for循环 从0开始 for (int i = 0; i < num.length-1; i++) { //遍历j=0开始循环 for (int j=0;j<num.length-1;j++){ //判断num[j=0]是否大于num[j=1]也就是11是否大于10 if (num[j]>num[j+1]){ //是的话将num[j]赋值给t,也就是t=11 t = num[j]; //将num[j+1]的值赋给num[j],则num[j]=10 num[j]=num[j+1]; //将t=11赋值给num[j+1],则num[j+1]=11 num[j+1]=t; /* 标记循环过了,然后再回到j上面然后从j=1再次遍历一直遍历到j=num.length-1然后循环结束,至此i=0的循环结束,然后i=1,然后j=0继续遍历,注意:刚刚遍历的是i=0,并没有遍历i=1的时候,j的遍历。也可以理解为当i=0的时候遍历了j,现在又该遍历当i=1的时候,j还一次没遍历。继续遍历,之后就是同理了。 */ flag = 1; } } if (flag ==0) { break; } } //输出排好序的数组 System.out.println(Arrays.toString(num)); } }
java里的冒泡排序
最新推荐文章于 2024-08-23 15:54:50 发布