请帮助我理解这两种优化冒泡排序方法背后的逻辑:方法一public static void MyBubbleSort(){ for (int i=0; i<list.length; i++) { boolean is_sorted = true; for (int j=0; j<list.length-1; j++) { if (list[j]>list[j+1]) { int a = list[j]; list[j]=list[j+1]; list[j+1]=a; is_sorted = false; System.out.println ("Ascending order:"+Arrays.toString(list))} 方法二在这里,我不明白 -i 在内部循环中在做什么。 public static void MyBubbleSort(){ for (int i=0; i<list.length; i++) { for (int j=0; j<list.length-1-i; j++) // <-- here { if (list[j]>list[j+1]) { int a = list[j]; list[j]=list[j+1]; list[j+1]=a; System.out.println ("Ascending order:"+Arrays.toString(list));
添加回答
举报
0/150
提交
取消