優化:因為排序過程中,各元素不斷接近自己的位置如果一趟比較下來沒有進行交換,就說明序列有序,因此要在排序過程中設定乙個標誌flag判斷元素是否進行過交換。從而減少不必要的比較。
**實現
int arr =;
int t=0; //中間變數
boolean flag=false;
//標誌當前迴圈是不是一次也沒進行交換,沒有表示已經為有序陣列 終止迴圈
//從小到大排序
for (int i = 0; i arr[j])
}if (!flag)else
system.out.printf("第%d趟排序後的結果為:",i+1);
for (int value : arr)
system.out.println();
}
排序 氣泡排序 標準優化版
前面我們提到氣泡排序的標準版,下面我們來對氣泡排序進行優化。為什麼要進行優化呢?首先,我們要知道,氣泡排序用的是相連兩個之間的比較。而最外層的迴圈次數是陣列的長度 1,那麼,有沒有不用全部迴圈結束,就能排好序呢?這種情況是有的,比如,我們需要排序的序列是 也就是說,除了第一和第二元素之外,別的都是正...
氣泡排序演算法(優化版)
include include include 排序用到的結構和函式 define maxsize 20 typedef struct sqlist 交換l中陣列r的下標為i和j的值 void swap sqlist l,int i,int j 氣泡排序 優化版 void bubblesort sq...
氣泡排序和選擇排序優化版
沒按方法來寫 主要是思想 用 來交換陣列更好 x x y y x y x x y 冒泡 public class bubblesort 六個數 只需五次大迴圈 確定五個數的排序 for int i 0 i arr.length 1 i system.out.println arrays.tostri...