摘要:冒泡排序一種運行效率很低的排序算法,然而雖然排序效率低,確實排序入門很重的算法,因為冒泡排序的思路是最簡單最容易理解的排序算法了。二冒泡排序定義冒泡排序是一種通過兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止的交換排序。
一、前言
相信大部分同學都已經學過數據結構與算法這門課了,并且我們可能都會發現一個現象就是我們所學過的數據結構與算法類的書籍基本都是使用 C 語言來寫的,好像沒見過使用 Java 寫的數據結構與算法。
帶著這個好奇心,我去查了下資料,國內基本找不到使用 Java 寫的數據結構與算法書籍,有一本書叫《Java 數據結構與算法》,這本書的代碼是使用 Java 實現的,不過這本書是國內的學者翻譯國外的書籍寫出來的,個人感覺這本書對于初學者來說,還是比較難理解的。
冒泡排序一種運行效率很低的排序算法,然而雖然排序效率低,確實排序入門很重的算法,因為冒泡排序的思路是最簡單最容易理解的排序算法了。
二、冒泡排序1、定義: 冒泡排序是一種通過兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止的交換排序。
2、實現思想: 通過比較兩兩相鄰記錄的關鍵字,將第一個記錄的關鍵字和第二個記錄的關鍵字進行比較,如果后面的比前面的小則交換,然后比較第二個和第三個,依次類推。比完一個循環,最大的那個已經放到了最后的位置,這樣就可以對前面N-1個數再循環比較。
下面以一群身高不等的學生為例,如下圖所示:
未排序的學生
已排序的學生
冒泡排序第一輪實現過程
三、冒泡排序的 Java 代碼實現1、冒泡排序實現算法:
BubbleSort.java
package BubbleSort; /** * * 冒泡排序實現算法 * */ public class BubbleSort { public void bubble(Integer[] data){ for(int i=0;idata[j+1]){ int tmp=data[j]; data[j]=data[j+1]; data[j+1]=tmp; } } } } }
2、冒泡排序測試:
Test.java
package BubbleSort; import java.util.Arrays; /** * * 測試冒泡排序 * */ public class Test { public static void main(String[] args) { Integer[] list={149,138,165,197,176,113,127,114,110}; //冒泡排序 BubbleSort bs = new BubbleSort(); bs.bubble(list); System.out.println("排序前的結果為:" + Arrays.toString(list)); System.out.print("排序后的結果為:"); for(int i=0;i2、測試結果:
關注微信公眾號compassblog,了解更多
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69378.html
摘要:常見的內部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數排序等。插入排序在實現上,通常采用排序即只需用到的額外空間的排序,因而在從后向前掃描過程中,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間。 常見的內部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數排序等。用一張圖概括: showImg(https://segm...
摘要:常見的內部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數排序等。插入排序在實現上,通常采用排序即只需用到的額外空間的排序,因而在從后向前掃描過程中,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間。 常見的內部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數排序等。用一張圖概括: showImg(https://segm...
摘要:常見的內部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數排序等。插入排序在實現上,通常采用排序即只需用到的額外空間的排序,因而在從后向前掃描過程中,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間。 常見的內部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數排序等。用一張圖概括: showImg(https://segm...
摘要:二冒泡排序算法作為這一系列的第一部分,主要講解排序算法。直到隊列全部排好為止。到這里,我想你應該明白了冒泡排序的思想了。 一、說在前面 一直想寫一些簡單易懂的文章,因為平時看的很多的書籍或者文章都是看著很難受的感覺,當然,這并不是說書籍寫的不好,只是說對于一些沒有太多基礎或者基礎不是很好的來說,相對來說還是比較難以理解的。 這個系列主要是寫一些簡單易懂的數據結構與算法的文章,同時也是幫...
摘要:常見的內部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數排序等。用一張圖概括歸并排序英語,或,是創建在歸并操作上的一種有效的排序算法,效率為。 常見的內部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數排序等。用一張圖概括: showImg(https://segmentfault.com/img/bVNwuO?w=966&h=...
閱讀 3669·2021-11-24 09:39
閱讀 1276·2021-09-30 09:48
閱讀 3258·2021-09-09 11:51
閱讀 2883·2021-09-08 10:41
閱讀 1329·2019-08-30 14:06
閱讀 2798·2019-08-30 14:01
閱讀 874·2019-08-29 17:11
閱讀 3169·2019-08-29 15:37