Java氣泡排序優化版
阿新 • • 發佈:2019-02-06
氣泡排序
簡單的來說,當升序排序時,將大的數往後移,小的數往前移;降序排序時就是將小的數往後移,將大的數往前移。
package cn.paixu; import java.util.Arrays; /** * 減少每趟的次數 * 考慮有序,減少趟數 * @author Athena * */ public class MaoPao { public static void main(String[] args) { int[] arr = {3,1,5,2,9}; sort(arr); for(int t:arr) { System.out.print(t+" "); } } public static void sort(int[] arr) { int temp; for(int i=0;i<arr.length-1;i++) { //控制進行比較的輪數 boolean sorted = true;//考慮有序,減少趟數 //System.out.println("第"+(i+1)+"燙"); for(int j=0;j<arr.length-1-i;j++) {//每輪進行比較的次數 if(arr[j]>arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; sorted = false; //考慮有序,減少趟數 } //System.out.println(Arrays.toString(arr)); } if(sorted) { break; } } } }