冒泡排序

 1 public static void main(String[] args) {
 2         int[] arr={44,5,38,56,2};
 3         int temp = 0;
 4         int a = 0;
 5         for (int i = 0; i < arr.length; i++) {
 6             System.out.println("i的值为"+i);
 7             for (int j = 0; j < arr.length-1; j++) {
 8                  //当56和2交换完,又重新开始,从0遍历到2那里交换,还有优化空间?
 9                 //第二个for循环减一应为当遍历到第三个数时,还有最后一个数进行比较
10                 //不减去一遍历到最后一个数没有比较
11                 //System.out.println("arr长度:"+arr.length+"j值为:"+arr[j]+"j+i:"+arr[j+1]);
12                 if (arr[j]>arr[j+1]) {
13                     temp=arr[j];
14                     arr[j]=arr[j+1];
15                     arr[j+1]=temp;
16                     
17                 }
18                 a++;
19             }
20             
21         }
22         System.out.println("遍历次数"+a);
23         for(int num:arr){
24             System.out.println(num); 
25         }
26     }

 

要是在第二个循环在减去i

 


 

posted @ 2018-11-12 10:46  孤海飞雁  阅读(139)  评论(0)    收藏  举报