氣泡排序優化

2021-09-19 16:06:38 字數 597 閱讀 5636

增加乙個標誌,減少迴圈次數

public static void main(string args) ;

//優化的氣泡排序 時間複雜度最好的時候由o(n^2)變為o(n),最壞的情況一樣o(n^2) 輔助空間o(1),穩定

long l = system.currenttimemillis();

boolean flag = true;

for (int i = 0; i < ins.length && flag; i++) }}

system.out.println("排序用時:" + (system.currenttimemillis() - l));

for (int i = 0; i < ins.length; i++)

}

執行結果:

交換i=0j=1

排序用時:1

排序後結果:0是1

排序後結果:1是2

排序後結果:2是3

排序後結果:3是4

排序後結果:4是5

排序後結果:5是6

排序後結果:6是7

排序後結果:7是8

排序後結果:8是9

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...

優化氣泡排序

氣泡排序 bubble sort 重複遍歷需要排序的數列,依次比較兩個元素,如果順序錯誤就進行交換,直到不再需要交換為止。演算法步驟如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。針對所有的元...

氣泡排序優化

氣泡排序優化 氣泡排序思想 內層迴圈數字兩兩比較,並交換,最後乙個數字成為最大數字 外層迴圈控制迴圈次數,不在將最後一位參與交換 冒泡改進 若內層迴圈沒有進行過一次交換,說明陣列已經有序,直接break 不需要再進行迴圈 includeusing namespace std int main int...