先介紹基礎的排序方法
1.氣泡排序
氣泡排序是一種簡單的排序演算法 其基本思路就是迭代對輸入序列的第乙個元素到最後乙個元素進行兩兩比較。
優點可以檢測已排序序列
實現簡單
缺點 速度太慢o(n^2)
演算法 1.兩兩相比較 若大於或小於則替換
2.重複上述過程 遍歷序列
2.選擇排序
選擇排序是一種原地演算法,也就是不需要額外的空間,適用於小檔案
優點 容易實現
原地排序
缺點速度太慢o(n^2)
演算法1.尋找序列中的最小或最大值
2.與當前位置的值交換
3.重複上述過程,遍歷序列
插入排序
插入排序是一種簡單有效的排序演算法。每次迭代過程中演算法隨機的重輸入序列中移除乙個元素並將其插入到正確的位置。
優點 實現簡單
資料小效率高
效率略優於冒泡和插入
穩定性高
原地 經需要少量的輔助空間
缺點效率依然很慢
演算法 每次移除乙個元素將其插入到乙個已經排序好的陣列中
演算法實現
以下實現可能有錯誤,僅供參考
氣泡排序
// 氣泡排序
public
void
sortbybubble(int arr) }}
}
選擇排序
// 獲取陣列最小值
public
intminindex(int arr, int start)
}return start;
}// 簡單選擇排序
public
void
sortby******sel()
}
插入排序
public
void sortbyinsert(int array)
//找到位置或者到了序列頭
array[j] = temp;
}
到此基礎排序的講解到此結束。 資料結構與演算法之氣泡排序
一 氣泡排序的定義及其理解 氣泡排序是一種交換排序,它的基本思路是 兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。氣泡排序其實很容易理解,顧名思義,我們會想到氣泡。就像水底下的魚兒嘴巴裡吐出的氣泡,越鄰近水平面上的氣泡是越大的。那如何用氣泡排序的方法對大小不一的氣泡進行排序呢?氣...
資料結構與演算法之氣泡排序
氣泡排序作為演算法的入門程式,就好比程式語言裡面的hello world。核心思想就是將相鄰的兩個元素進行比較,如果順序錯誤就進行交換。給定一組資料 9,7,3,5,8,2,1。從第乙個數字9開始,將他與前面的數字7進行比較,大於7,然後兩個就交換位置,然後在用9去跟3做比較,大於3,同樣交換位置,...
資料結構與演算法之氣泡排序
勵志成為程式設計師的小白又來啦!這次要分享的是演算法中的幾種常用排序。首先這次我們要分享的是最經典的氣泡排序 氣泡排序 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序 如從大到小 首字母從a到z 錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說...