冒泡排序基本思想:
1.比较相邻的元素,如果第一个比第二个大,就交换它们两个。
2.对每一对相邻元素做同样的工作,从开始的第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
1 package cn.hst.hh; 2 3 import java.util.Arrays; 4 5 /** 6 * 测试冒泡排序 7 * @author Trista 8 * 9 */ 10 public class TestBubbleSort { 11 public static void main(String[] agrs) { 12 int[] values = {3,1,6,2,9,0,7,4,5,8}; 13 int temp = 0; 14 for(int i=values.length-1;i>0;i--) { 15 int count = 0; 16 boolean flag = true; 17 for(int j=0;j<i;j++) { 18 if(values[j]>values[j+1]) { 19 temp = values[j]; 20 values[j] = values[j+1]; 21 values[j+1] = temp; 22 flag = false; 23 } 24 count++; 25 } 26 if(flag) { //如果没有交换,则认为已经排好 27 break; 28 } 29 System.out.println(Arrays.toString(values)); 30 System.out.println("共"+count+"次"); 31 System.out.println("################"); 32 } 33 System.out.println(Arrays.toString(values)); 34 } 35 36 }
原文:https://www.cnblogs.com/Trista-ddt/p/10589565.html