1.定義
通過比較來確定輸入序列1,a
2,..,a
n>的元素間相對次序的排序演算法稱為比較排序演算法。
2.演算法解釋
(1) 選擇排序:
選擇排序的基本思想是對待排序的記錄序列進行n-1遍的處理,第i遍處理是將l[i..n]中最小者與l[i]交換位置。這樣,經過i遍處理之後,前i個記錄的位置已經是正確的了。
(2): 氣泡排序
最簡單的排序方法是氣泡排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的「氣泡」,較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我 們要對這個「氣泡」序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序 不對,即「輕」的元素在下面,就交換它們的位置。顯然,處理一遍之後,「最輕」的元素就浮到了最高位置;處理二遍之後,「次輕」的元素就浮到了次高位置。 在作第二遍處理時,由於最高位置上的元素已是「最輕」元素,所以不必檢查。一般地,第i遍處理時,不必檢查第i高位置以上的元素,因為經過前面i-1遍的 處理,它們已正確地排好序
(3) 插入排序
插入排序的基本思想是,經過i-1遍處理後,l[1..i-1]己排好序。第i遍處理僅將l[i]插入l[1..i-1]的適當位置,使得l[1..i]又是排好序的序列。要達到這個目的,我們可以用順序比較的方法。首先比較l[i]和l[i-1],如果l[i-1]≤ l[i],則l[1..i]已排好序,第i遍處理就結束了;否則交換l[i]與l[i-1]的位置,繼續比較l[i-1]和l[i-2],直到找到某乙個位置j(1≤j≤i-1),使得l[j] ≤l[j+1]時為止
(4) 快速排序
快速排序的基本思想是基於分治策略的。對於輸入的子串行l[p..r],如果規模足夠小則直接進行排序,否則分三步處理:
Java排序演算法
回顧一下排序演算法 稍微地設計一下基礎類 插入排序 插入排序 insertion sort 的基本思想是 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。氣泡排序 氣泡排序 bubblesort 的基本概念是 依次比較相鄰的兩個數,將小數放在...
java 排序演算法
氣泡排序 public void bubblesort int array 選擇排序 選擇排序 public void selectsort int a else 判斷 j 1 或者 就是第乙個小於等於temp資料的位置 datas j 1 temp 快速排序 快速排序 param datas pu...
排序演算法(java)
持續更新中 氣泡排序 程式如下 public class bubblesort bubble ages for int i 0 i0 i public static void swap int source,int x,int y 下圖表示第i次掃瞄時,依次比較相鄰元素大小,並交換位置 選擇排序 基...