// 正常的兩兩交換實現
private static void sort1(int a)
time++;
}} system.out.println("跑了:"+time+"次");
system.out.println(arrays.tostring(a));
}
// 當陣列後面的排好過後就不在執行實現
private static void sort2(int a)
time++;
}//判定當陣列順序在已經排好的情況下,後面的次數不在執行,跳出外迴圈
if(flag)
} system.out.println("跑了:"+time+"次");
system.out.println(arrays.tostring(a));
}
private static void sort3(int a)
//次數++
time++;
}//判定當陣列順序在已經排好的情況下,後面的次數不在執行,跳出外迴圈
if(flag)
//把獲取的下標賦值給end變數
end = k;
//內迴圈2控制從右向左查詢最小數字
for (int j = end; j > start; j--)
// 次數
time++;
}// 開始下標給末尾
end = start;
// 末尾給開始
start = rap;
// 從後面往前面跑
for (int j = start; j > end; j--)
// 次數
time++;
}// 開始給結尾,結尾給開始
end = start;
start = rap;
} system.out.println(arrays.tostring(arr));
system.out.println(time);
}
氣泡排序演算法及優化
氣泡排序是一種典型的交換排序演算法,通過交換資料元素的位置進行排序。從序列頭部開始,進行兩兩比較,根據大小交換位置,直到最後將最大 小 的資料元素交換到了佇列的隊尾,從而成為有序序列的一部分 下一次繼續這個過程,直到所有資料元素都排好序。演算法的核心在於每次通過兩兩比較交換位置,選出剩餘無序序列裡最...
氣泡排序及演算法優化
用雙重迴圈來控制,當相鄰元素不滿足要求的順序排列 從小到大或從大到小 時,就將兩元素交換位置,以此逐漸遍歷。void bubblesort int array long endtime system.currenttimemillis 列印排序後的前10個數 for int i 0 i 10 i s...
氣泡排序演算法詳解及優化
排序原理 比較兩個相鄰的元素,將值大的元素交換至右端,小的元素向上冒泡,這也是冒泡演算法名稱的由來。排序流程如下 1 對陣列中的各資料,依次比較相鄰的兩個元素大小,即第0和第1個比較,第1個和第2個比較.第n 2個和和第n 1個比較,每次比較中如 果前面的大於後面的就交換,這樣第一輪即n次比較後,最...