七种排序算法Java版,最常用的7种
* @param data */ public static void displayData(int[] data) { for (int d : data) { System.out.print(d + " "); } System.out.println(); } /**
* 冒泡排序算法
,时间复杂度O(n2),算法具有稳定性,堆排序和快速排序算法不具有稳定性,即排序后相同元素的顺序会发生变化
*
* @param src
*/ public static void bubbleSort(int[] src) {
if (src.length > 0) {
int length = src.length;
for (int i = 1; i < length; i++) {
for (int j = 0; j < length - i; j++) {
if (src[j] > src[j + 1]) {
int temp = src[j];
src[j] = src[j + 1];
src[j + 1] = temp;
}
}
}
}
}
/**
* 快速排序,
时间复杂度O(nlogn),最坏时间复杂度O(n2),平均时间复杂度O(nlogn),算法不具稳定性
*
* @param src
* @param begin
* @param end
*/
public static void quickSort(int[] src, int begin, int end) { if (begin < end) {
int key = src[begin];
int i = begin;
int j = end;