public class Maopaopaixu {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr= {1,2,3,4,5};
int tmp=0;
//保证按照数组长度进行循环保证每一位数进行对比过
for (int i = 0; i < arr.length; i++) {
/**
*
* arr.length-1 是因为
* int new_num=arr[j+1]; 不 -1就数组越界了
*
* 再-i 是因为
* 1,相邻的数字都会经过对比
* 2,符合条件会被调换位置
* 3,所以 第一次循环 会决出第一位数字位置
* 4, 第二次循环 会决出第二位数字位置
* 5,以此类推。。。所以对比一轮 就可以减少一轮无效对比
*/
for (int j = 0; j < arr.length-1-i; j++) {
//当前值
tmp=arr[j];
//下一位值
int new_num=arr[j+1];
//当前值大于下一位值 就进行位置置换 >按照从小到大 < 从大到小
if(tmp<new_num) {
arr[j]=new_num;
arr[j+1]=tmp;
System.err.println("new_num"+new_num);
System.err.println("tmp"+tmp);
}
System.err.println("j="+j);
}
System.err.println("i>>>>>>>>>>>>>>>>>>>>>"+i);
}
for (int i : arr) {
System.err.println(i);
}
}
}
java冒泡排序
最新推荐文章于 2024-06-07 09:15:00 发布