冒泡排序(JAVA實現)


很想直接上代碼,奈何字數有要求!

  冒泡排序(Bubble Sort),是一種 計算機科學領域的較簡單的 排序算法
  它重復地走訪過要排序的元素列,依次比較兩個相鄰的 元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
  這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中 二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。

  1.  BubbleSort.java  算法類

 1 /*
 2  * 冒泡排序(數據類型為int型)
 3  */
 4 public class BubbleSort {
 5 
 6     public void bubble_Sort(int[] array,int n) {
 7         for(int p=n-1; p>=0; p--) {
 8             int flag = 0;  
 9             for(int i=0; i<p; i++) {
10                 if(array[i]>array[i+1]) {
11                     int tmp = array[i+1];
12                     array[i+1] = array[i];
13                     array[i] = tmp;
14                     flag = 1;
15                 }
16             }
17             if(flag==0) {  //全程無交換 
18                 break;
19             }
20         }
21     }
22 }

  2.  Test.java   測試類

 1 /*
 2  * 冒泡排序測試類
 3  */
 4 public class Test {
 5 
 6     public static void main(String[] args) {
 7 
 8         int[] array = {34,8,64,51,32,21};  //初始化數組
 9 
10         System.out.println("原數組(未排序): ");
11         for(int i:array) {  //遍歷數組
12             System.out.print(i+" ");
13         }
14         
15         BubbleSort bs = new BubbleSort();
16         bs.bubble_Sort(array, array.length);
17         
18         //排序之后的數組
19         System.out.println();
20         System.out.println("冒泡排序之后的數組: ");
21         for(int i:array) {
22             System.out.print(i+" ");
23         }
24     }
25 }

  如果這篇文章對你有用的話,希望點個贊,支持一下作者,有什么更好的看法和建議歡迎評論區留言。Bye,下次見!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM