2022/11/24
3727

Java程式教室(七):泡泡排序法 Bubble sort 教學

Java泡泡排序法教學

JAVA程式教學-泡泡排序法 Bubble Sort

泡泡排序法可說是最多人知道的排序,它具有演算法想法簡單,容易實現的特點。
 
原理為:
對於一組包含n的數字資料的數列,在比對運算上,泡泡排序法需進行n-1次的比對,原理為相對的前後兩組比較大小,假設n個數字,比較方式方式為:

第一次:依次比較第一個和第二個,第二個和第三個,第三個和第四個….第n-2個和第n-1個,如果發現第一個資料大於後一個資料,兩個位置對調。經過第一次運算後,最大的元素會跑到最後的位置。

第二次:一樣的方式繼續前後倆倆比較,前面資料大於後面資料則位置對調,結果會是第二大的資料跑到倒數第二位。
以此類推......這n個資料就執行相同規則比完之後,第二小的資料剛好就跑到第二個位置,如此即達成由小到大的順序。

這裡假設有一組資料如下:
9,16,21,23,30,49,21,30
要使用泡泡排序法的規則,重新排列為由小到大,以下為每次執行的方式
第一次排列:9,16,21,23,30,21,30*,49-à49跑到最後
第二次排列:9,16,21,23,21,30,30*,49-à30與21對調
第三次排列:9,16,21,21,23,30,30*,49-à23與21對調
第四次排列:9,16,21,21,23,30,30*,49-à最後確定

在排序過程,雖然上面數列有8個元素,但是採用泡泡排序法只需經過4次比較,因為前三次比較已可得出結果,第四次並不會執行交換的,程式會自動提前結束迴圈。
 
程式執行結果如下
1

問題分析:
根據此結果分析,只需撰寫一個排序運算用的方法,以下為程式撰寫步驟
Step 1-依照泡泡排序法規則,撰寫名為 bubbleSort的方法,內容為下:
2
 
Step 2-撰寫測試執行bubbleSort方法的main程式步驟
3
 
以下為程式碼完整內容
4

5
 
---

>>程式課程試聽索取 

>>職訓補助課程
 


相關文章:

>>Java程式教室(三):用JAVA寫出擲骰子遊戲
>>如何利用Python爬取靜態網頁資料
 



  江聖榮 老師
  專長:

  程式設計:從前端(UI front-end)到後端(Back-end)之全端工程師(full-stack)
  精通語言:Java、Javascript 前後端框架   
  開課詳情

 
LINE-friend
近期文章熱搜文章排行
熱門標籤熱門標籤
近期文章你可能有興趣的文章
熱門標籤熱門標籤