1 public static void main(String[] args){ 2 int[] arr={12,34,2,1,5}; 3 } 4 public static void maoPao(int[] arr){ 5 //外层循环控制排序趟数 6 //这里为什么要减1?因为数组的length是5,最多排4趟,最后一个数是不要排直接就出来的 7 for(int i=0;i<arr.length-1;i++){ 8 9 //内层循环控制每一趟排序多少次,每次比较完要减去i个数,因为已经比较过了 10 //这里为什么是length-1,因为下面有j+1,如果不这样写,会出现数组越界 11 for(int j=0;j<arr.length-1-i;j++){ 12 13 //当前位置数大于下一个位置数,进行调换 14 //当前位置小于下一个位置数,拿下一个位置数和下下个位置数比较 15 //每一轮都可以比较出一个最大的数 16 if(arr[j]>arr[j+1]){ 17 18 //如果当前位置的数大于后面一个位置的数,进行调换,进行下一次比较 19 int temp=arr[j]; 20 arr[j]=arr[j+1]; 21 arr[j+1]=temp; 22 } 23 } 24 } 25 }
原文:https://www.cnblogs.com/Houqz/p/12991971.html