java-冒泡排序

 1 public class hello {
 2     public static void main(String [] args){
 3         int[] lista={12,3,2,1,34,21,23};
 4         int lentha=lista.length;
 5         System.out.println(lentha);
 6 
 7         //每次都拿位置为0的第一个去和后面的做比较
 8         // 第一个比较长度-1次,位置是长度-2,第二个比较长度-2次,位置是长度-2-1(此处解释第二个for循环里面的-i的原因)
 9         for(int i=0;i<lentha;i++) {
10             //长度为7,做7次对比
11             //每一次拿左右两个数对比,把大的排在后面,依次往后挪动(参考冒牌排序的动图)
12             for(int a=0,b=1;b<lentha-i;a++,b++){
13                 System.out.println("第"+b+"次循环--- "+"位置"+a+":"+lista[a]+" "+"位置"+b+":"+lista[b]);
14                 if(lista[a]>lista[b]){
15                     int tmp=lista[b];
16                     lista[b]=lista[a];
17                     lista[a]=tmp;
18                 }
19             }
20         }
21         for(int value:lista){
22             System.out.print(value+" ");
23         }
24 
25     }
26 }

两个for循环,加一个if判断

第一个for循环,表示循环n次,第二个for循环,表示依次去对比每一个元素。

posted @ 2025-03-08 10:31  hushuer  阅读(20)  评论(0)    收藏  举报