Java中的常見排序

2021-08-28 16:51:49 字數 1153 閱讀 4215

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

public static void bubblesort(int numbers) }}

}

2、快速排序

從數列中挑出乙個元素,稱為「基準」

重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。

在這個分割之後,該基準是它的最後位置。這個稱為分割(partition)操作。

遞迴地把小於基準值元素的子數列和大於基準值元素的子數列排序

public static void quicksort(int numbers, int start, int end) 

} while (i <= j);

if (start < j)

quicksort(numbers, start, j);

if (end > i)

quicksort(numbers, i, end);

}}

3、選擇排序

在未排序序列中找到最小元素,存放到排序序列的起始位置。

再從剩餘未排序元素中繼續尋找最小元素,然後放到排序序列末尾。

以此類推,直到所有元素均排序完畢

public static void selectsort(int numbers) 

temp = numbers[i];

numbers[i] = numbers[k];

numbers[k] = temp;

}}

4、插入排序

從第乙個元素開始,該元素可以認為已經被排序

取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

如果該元素(已排序)大於新元素,將該元素移到下一位置

重複步驟3,直到找到已排序的元素小於或者等於新元素的位置

將新元素插入到該位置中

重複步驟

public static void insertsort(int numbers) 

}

java中幾種常見的排序演算法

本人只研究過氣泡排序 選擇排序和快速排序,下面是快速排序的 一 冒泡 bubble 排序 氣泡排序 bubblesort 的基本思想是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。如此重複下去,直至最終完成排序。時間複雜度為 o n n 適用於排序小列表。void bubblesortarr...

Java中幾種常見的排序方式

日常操作中常見的排序方法有 氣泡排序 快速排序 選擇排序 插入排序 希爾排序,甚至還有基數排序 雞尾酒排序 桶排序 鴿巢排序 歸併排序等。一 氣泡排序 氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有...

Java常見的排序演算法

氣泡排序演算法的運作如下 假定從後往前 比較相鄰的元素。如果第乙個比第二個大或小,就交換他們兩個的位置 將序列中所有元素兩兩比較,將最大的放在最後面。將剩餘序列中所有元素兩兩比較,將最大的放在最後面。重複第二步,直到只剩下乙個數。實現 1.設定迴圈次數。2.設定開始比較的位數,和結束的位數。3.兩兩...