當前位置:才華齋>計算機>java語言>

氣泡排序演算法原理及JAVA實現程式碼方法

java語言 閱讀(2.7W)
  氣泡排序演算法原理及JAVA實現程式碼方法

氣泡排序法:關鍵字較小的記錄好比氣泡逐趟上浮,關鍵字較大的記錄好比石塊下沉,每趟有一塊最大的石塊沉底。

氣泡排序演算法原理及JAVA實現程式碼方法

演算法本質:(最大值是關鍵點,肯定放到最後了,如此迴圈)每次都從第一位向後滾動比較,使最大值沉底,最小值上升一次,最後一位向前推進(即最後一位剛確定的最大值不再參加比較,比較次數減1)

複雜度: 時間複雜度 O(n2) ,空間複雜度O(1)

JAVA原始碼(成功執行,需要Date類)

複製程式碼 程式碼如下:

public static void bubbleSort(Date[] days) {

int len = th;

Date temp;

for (int i = len - 1; i >= 1; i--) {

for (int j = 0; j < i; j++) {

if (days[j]are(days[j + 1]) > 0) {

temp = days[j + 1];

days[j + 1] = days[j];

days[j] = temp;

}

}

}

}

class Date {

int year, month, day;

Date(int y, int m, int d) {

year = y;

month = m;

day = d;

}

public int compare(Date date) {

return year > ? 1 : year < ? -1

: month > h ? 1 : month < h ? -1

: day > ? 1 : day < ? -1 : 0;

}

public void print() {

tln(year + " " + month + " " + day);

}

}