1、比较相邻的元素。如果第一个比第二个大或小(),交换。
2、对每一对相邻元素进行同样的工作,从开始第一对到结尾的最后一对。最后的元素将是最大(或最小)的数。
3、 针对所有的元素重复以上的步骤,除了最后一个。
4、 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
public class bubble {
static int[] i = new int[]{111,3,45,72,6,8,12,74}; public static void main(String[] args) { new bubble().test(); // for(int x:i){ // System.out.println("数组从小到大排列顺序为:"+x); // } // } public void test(){ for(int a=0;a<i.length-1;a++){ for(int idx =0;idx<i.length-1;idx++){ if(i[idx]>i[idx+1]){ int temp = i[idx+1]; i[idx+1]=i[idx]; i[idx]=temp; } System.out.print("\n外圈第" + (a + 1) + "次,内圈第" +(idx + 1)+ "次,结果:"); for(int x:i){ System.out.print(x); System.out.print (" "); } } } } }