Java數(shù)據(jù)結(jié)構(gòu)和算法之冒泡排序(動力節(jié)點Java學(xué)院整理)
冒泡排序(Bubble Sort)是一種簡單的排序算法。它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數(shù)列的工作是重復(fù)地進行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。這個算法的名字由來是因為越小的元素會經(jīng)由交換慢慢“浮”到數(shù)列的頂端。
冒泡排序算法的運作如下:
1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2. 對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點,最后的元素應(yīng)該會是最大的數(shù)。
3. 針對所有的元素重復(fù)以上的步驟,除了最后一個。
4. 持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。
冒泡排序的過程圖:
代碼:
public class BubbleSort{ public static void main(String[] args){ int score[] = {67, 69, 75, 87, 89, 90, 99, 100}; for (int i = 0; i < score.length -1; i++){ //最多做n-1趟排序 for(int j = 0 ;j < score.length - i - 1; j++){ //對當(dāng)前無序區(qū)間score[0......length-i-1]進行排序(j的范圍很關(guān)鍵,這個范圍是在逐步縮小的) if(score[j] < score[j + 1]){ //把小的值交換到后面 int temp = score[j]; score[j] = score[j + 1]; score[j + 1] = temp; } } System.out.print("第" + (i + 1) + "次排序結(jié)果:"); for(int a = 0; a < score.length; a++){ System.out.print(score[a] + "\t"); } System.out.println(""); } System.out.print("最終排序結(jié)果:"); for(int a = 0; a < score.length; a++){ System.out.print(score[a] + "\t"); } } }
以上所述是小編給大家介紹的Java數(shù)據(jù)結(jié)構(gòu)和算法之冒泡排序(動力節(jié)點Java學(xué)院整理),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- java List 排序之冒泡排序?qū)嵗a
- Java 冒泡排序、快速排序?qū)嵗a
- java數(shù)據(jù)結(jié)構(gòu)與算法之冒泡排序詳解
- java冒泡排序和快速排序代碼
- java冒泡排序簡單實例
- java實現(xiàn)的冒泡排序算法示例
- Java實現(xiàn)冒泡排序算法
- java 數(shù)據(jù)結(jié)構(gòu) 冒泡排序?qū)崿F(xiàn)代碼
- Java實現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法)
- JAVA冒泡排序和二分查找的實現(xiàn)
- Java實現(xiàn)冒泡排序算法及對其的簡單優(yōu)化示例
- Java經(jīng)典算法匯總之冒泡排序
- Java實現(xiàn)冒泡排序與雙向冒泡排序算法的代碼示例
- 詳解Java冒泡排序
相關(guān)文章
詳解Intellij IDEA 2017 debug斷點調(diào)試技巧(總結(jié))
這篇文章主要介紹了詳解Intellij IDEA 2017 debug斷點調(diào)試技巧(總結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11Java 文件上傳與路徑處理之Paths.get()、resolve()、transferTo()的用法詳解
本文詳細(xì)解析了如何使用Java的Paths.get()、resolve()和Spring的transferTo()方法處理文件上傳功能,并給出了完整的代碼示例,感興趣的朋友跟隨小編一起看看吧2024-10-10sms4j?2.0?全新來襲功能的調(diào)整及maven變化詳解
這篇文章主要介紹了sms4j?2.0?全新來襲功能的調(diào)整及maven變化詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04Spring擴展BeanFactoryPostProcessor使用技巧詳解
這篇文章主要為大家介紹了Spring擴展BeanFactoryPostProcessor使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09