程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java完成冒泡排序算法

Java完成冒泡排序算法

編輯:關於JAVA

Java完成冒泡排序算法。本站提示廣大學習愛好者:(Java完成冒泡排序算法)文章只能為提供參考,不一定能成為您想要的結果。以下是Java完成冒泡排序算法正文


冒泡排序:

就是按索引逐次比擬相鄰的兩個元素,假如大於/小於(取決於需求升序排還是降序排),則置換,否則不做改動
這樣一輪上去,比擬了n-1次,n等於元素的個數;n-2,n-3 ... 不斷到最後一輪,比擬了1次
所以比擬次數為遞加:從n-1 到 1
那麼總的比擬次數為:1+2+3+……+(n-1),  以等差公式計算:(1+n-1)/2*(n-1) ==> n/2*(n-1) ==> (n^2-n) * 0.5
用大O表示算法的時間復雜度:O(n^2) ,  疏忽了系數0.5和常數-n。

算法思想

它反復地走訪過要排序的數列,一次比擬兩個元素,假如他們的順序錯誤就把他們交流過去。走訪數列的任務是反復地停止直到沒有再需求交流,也就是說該數列曾經排序完成。

這個算法的名字由來是由於越小的元素會經由交流漸漸“浮”到數列的頂端,故名。

代碼如下:

int[] array = {56, 15, 10, 69, 1, 21, 6, 85, 30, 45, 73, 93}; 
     
    //冒泡排序 
    for (int i = 0; i < array.length; i++) { 
      for (int j = i+1; j < array.length; j++) { 
        if (array[i] >= array[j]) { 
          int temp = array[i]; 
          array[i] = array[j]; 
          array[j] = temp; 
        } 
      } 
    } 
     
    System.out.print("冒泡排序的後果是: "); 
    for (int i : array) { 
      System.out.print(i + " "); 
    } 

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved