Java排序總結

2021-07-29 02:51:51 字數 2756 閱讀 7144

測試的資料

大小比較函式

public

static

void

rightbig(integer sort, int left, int right)

}

實現:

/**

* 冒泡是 左右相鄰比較

* * 時間複雜度 o(n²) 。

實現:

/**

* 選擇排序。 乙個位置 l與所有的位置all_l,一次進行對比 和交換。一輪對比完,那個位置的值既最小

* * 時間複雜度 o(n²) 。 (n-1)次迴圈*(n)次迴圈

實現:

public

static

void

insertsort(integer arr)

arr[j + 1] = temp;//把待排序的元素temp插入騰出位置的(j+1)}}

實現:

/**

* 希爾排序

**@param arrays 需要排序的序列

*/public

static

void

sort(integer arrays)

//增量

int incrementnum = arrays.length / 2;

while (incrementnum >= 1) }}

//設定新的增量

實現:

public

static

void

printarray(int array)

}system.out.println("}");

}public

static

void

quicksort(int a, int start, int end)

while (i < j && a[i] < a[j])

// 左側掃瞄(此時a[j]中儲存著key值)

實現:

public

static

void

main(string args) ;

int i, j;

int low, high, mid;

int temp;

for (i = 1; i < a.length; i++)

//定位的位置都向後挪動乙個位置

for (j = i - 1; j > high; j--)

a[j + 1] = a[j];

//temp弄進來即可。

a[high + 1] = temp;

}for (i = 0; i < 10; i++)

}

Java排序演算法總結

前面講了10種基本的排序演算法,現在來作下總結,基於下面幾個方面來比較各個排序演算法的優劣 時間複雜度,空間複雜度,穩定性,適用場景 排序演算法 時間複雜度 空間複雜度 穩定性適用場景 直接選擇排序 o n 2 o 1 不穩定時間效率不高,但是空間效率很高,演算法實現比較簡單 堆排序o nlogn ...

排序演算法總結 java

1 歸併排序 mergesort 歸併 排序具體工作原理如下 假設序列共有n個元素 將序列每相鄰兩個數字進行歸併操作 merge 形成floor n 2 個序列,排序後每個序列包含兩個元素 將上述序列再次歸併,形成floor n 4 個序列,每個序列包含四個元素 重複步驟2,直到所有元素排序完畢 時...

java 常見排序總結

氣泡排序 氣泡排序可以說是所有排序中最簡單的排序,它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。冒泡法排序 需要排序的整型陣列 public static void bubblesort01...