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 + " "); }
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持。