算是回顧基礎吧,順便記錄下來。java
冒泡排序:顧名思義就是像水中的氣泡同樣一個一個元素的向上冒。數組
第一輪:第一個元素n1與第二個元素n2比較,若n1>n2,交換位置,反之不交換位置,第二個元素與第三個元素比較.......一直比較到最後一個元素,一輪下來最大的元素確定在最後一個索引的位置,小的元素慢慢往前移(形容水中氣泡慢慢冒在適合不過了)。spa
繼續下一輪冒泡,最後一個索引位置固定則不用參與,將前面的元素在進行一一比較,這輪下來把第二大的元素放在了倒數第二個索引的位置,後面繼續循環...。code
時間複雜度:O(n^2)blog
用代碼實現(java):排序
public class bubbingSort { public static void main(String[] args) { int[] arrs = {100, 8, 20, 2, 8, 90, 50}; bubbingSort(arrs); } private static void bubbingSort(int[] arrs) { //比較多少輪((數組的長度-1)輪) for(int i = 0;i < arrs.length - 1;i++) { //一輪比較:前一個與後一個比較 //爲啥這裏j < arrs.length - 1 - i: 由於比較完一輪就有一個索引位置被肯定,肯定了則不用再重複比較了 for(int j = 0;j < arrs.length - 1 - i;j++) { if(arrs[j] > arrs[j + 1]) { int temp = arrs[j]; arrs[j] = arrs[j + 1]; arrs[j + 1] = temp; } } } for (int i : arrs) { System.out.println(i); } } }
據說優秀的工程師都寫博客,誰還不想變的優秀呢?索引