幾種常用的排序演算法

2021-09-03 10:34:31 字數 866 閱讀 2654

氣泡排序

氣泡排序是一種穩定的排序演算法。演算法的穩定性是指兩個相同的資料在經歷過排序後資料的位置沒有發生變化。

int n = array.length;

// 這裡設個標誌位,當沒有位置交換時,代表已經排好序,可以退出迴圈

boolean flag = false;

for (int i = 0; i < n; i++)

}if (!flag) break;

}

插入排序
int n = array.length;

for (int i = 1; i < n; i++) else

}array[j + 1] = value;

}

選擇排序
int n = array.length;

for (int i = 0; i < n - 1; i++)

}int temp = array[index];

array[index] = array[i];

array[i] = temp;

}

快速排序
public void quicksort(int array) 

private void quicksortarray(int array, int low, int high)

private int findmidindex(int array, int low, int high)

}int k = temp;

array[m] = temp;

array[high] = k;

return m;

}

幾種常用的排序演算法

介紹 快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 n log n 次比較。在最壞狀況下則需要 n 2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 n log n 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的架構上很有效率地被實...

幾種常用的排序演算法

介紹 快速排序是由東尼 霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個專案要 n log n 次比較。在最壞狀況下則需要 n 2 次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他 n log n 演算法更快,因為它的內部迴圈 inner loop 可以在大部分的架構上很有效率地被實...

幾種常用的排序演算法

size large 按照排序過程中所使用的內外存情況不同,可把排序分為內排序和外排序兩大類 若排序過程全部在記憶體資料表 如陣列 中進行,則成為內排序,若排序過程需要不斷地進行記憶體陣列和外村檔案之間的資料交換,則成為外排序。對於大的資料檔案,由於記憶體限制不能一次裝入記憶體進行排序,只能進行外排...