public class BubbleSort{ public static void main(String[] args){ int[] arr={5,6,7,8,4}; for(int i=0;ii;j--){ int temp; if(arr[j-1]>arr[j]){ temp=arr[j-1]; arr[j-1]=arr[j]; arr[j]=temp; } } } System.out.print(arr); }}
如果一趟内排序下来,没有发生数据交换,则数组已经有序,可以这个规律优化程序
public class BubbleSort{ public static void main(String[] args){ int[] arr={5,6,7,8,4}; for(int i=0;ii;j--){ int temp; if(arr[j-1]>arr[j]){ temp=arr[j-1]; arr[j-1]=arr[j]; arr[j]=temp; swapFlag=true; } } if(!swapFlag){ break; } } System.out.print(arr); }}