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循环,表示依次去对比每一个元素。

浙公网安备 33010602011771号