实现原理:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
1 //Bubble Sort 2 public static void BubbleSort(int[] obj){ 3 for(int i =0;i<obj.length-1;i++){ //最多需要n-1趟排序 4 for(int j = 0; j<obj.length-i-1;j++){ //对obj[0,...,n-i-1],此时j的范围逐渐在减小 5 if(obj[j]<obj[j+1]){ //把小的值交换到后面 6 int temp = obj[j]; 7 obj[j] = obj[j+1]; 8 obj[j+1] = temp; 9 } 10 } 11 } 12 for(int i:obj){ 13 System.out.print(i+" "); 14 } 15 }