您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java冒泡排序如何實現”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Java冒泡排序如何實現”這篇文章吧。
算法描述:對于給定的n個記錄,從第一個記錄開始依次對相鄰的兩個記錄進行比較,當前面的記錄大于后面的記錄時,交換位置,進行一輪比較和交換后,n個記錄中的最大記錄將位于第n位;然后對前(n-1)個記錄進行第二輪比較;重復該過程直到進行比較的記錄只剩下一個為止。
冒泡排序是非常好理解的,以從小到大排序為例,每一輪排序就找出未排序序列中最大值放在最后。
設數組的長度為N:
(1)比較前后相鄰的二個數據,如果前面數據大于后面的數據,就將這二個數據交換。
(2)這樣對數組的第0個數據到N-1個數據進行一次遍歷后,最大的一個數據就“沉”到數組第N-1個位置。
(3)N=N-1,如果N不為0就重復前面二步,否則排序完成。
以上就是冒泡排序的基本思想,按照這個定義很快就能寫出代碼。
package sorting; /** * 冒泡排序 * 平均O(n^2),最好O(n),最壞O(n^2);空間復雜度O(1);穩定;簡單 * @author zeng * */ public class BubbleSort { public static void bubbleSort(int[] a){ int n = a.length; int temp = 0; for (int i=0;i<n;i++){ for (int j=0;j<n-i-1;j++){ if(a[j]<a[j+1]){ temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } } public static void main(String[] args){ int[] a ={49,38,65,97,76,13,27,50}; bubbleSort(a); for (int j:a) System.out.print(j+" "); } }
以上是“Java冒泡排序如何實現”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。