//i表示外循环次数 j表示数组的下标 从最后一个数开始,每一遍内循环选出一个“最小数”浮到前面
for(i=1;i<N;i++){
for(j=N-1;j>=i;j--){
if(num[j]>num[j-1]){
num[j]与num[j-1]交换; //这种更形象些
}
}
}
//-----------------------------------------------------------------
int[] arr={23,12,87,65,14,13};
for(i=0;i<arr.length-1;i++){
for(j=0;j<arr.length-1;j++){
if(arr[j]>arr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
/*内层循环为从第一个(下标0)到倒数第二个(下标arr.length-1-1)前后两数比较
*每进行完整一遍比较 可以选择出一个最大数排到“后面”(第一遍排倒数末位、第二遍排倒数第二位……)
*要完成N个数就需要N-1次这样的循环 而N=arr.length N-1=arr.length-1
*所以外层嵌套for循环,完成N-1=arr.length-1 i在[0,arr.length-1)即可
*重复的比较 降低了效率*/