1.氣泡排序:比較相鄰的元素,如果第乙個比第二個大,那就交換位置
讓大的元素跟下乙個相鄰的元素作比較,如果大於交換位置
對所有元素重複以上步驟(除了最後乙個),直到沒有任何乙個需要作對比
2.選擇排序:從未排序序列中找到最小的元素放到序列的初始位置,
再從剩餘未排序序列中找到最小的元素放到已排序序列的末端
以此類推直到所有元素排序完成
3.插入排序:對於未排序的元素,在已排序的序列中從後向前進行掃瞄,找到相應位置並插入,
需要反覆把已經排序好的元素逐步向後挪位,為新元素提供插入空間。
4.快速排序:
5..希爾排序:以間隔為n進行對待
分成n個子序列,並對n個子序列以此進行插入排序
然後整合,獲得新的序列
縮小間隔,再以間隔對待,進行插入排序
希爾排序是不穩定的,但優化了插入排序的平均時間
6.歸併排序:按對半分,分成兩半。
對兩部分,分別進行排序(遞增)。
合併兩個序列,左右比較取小的值
python資料結構 最全的六種排序
1.氣泡排序 比較相鄰的元素,如果第乙個比第二個大,那就交換位置 讓大的元素跟下乙個相鄰的元素作比較,如果大於交換位置 對所有元素重複以上步驟 除了最後乙個 直到沒有任何乙個需要作對比 2.選擇排序 從未排序序列中找到最小的元素放到序列的初始位置,再從剩餘未排序序列中找到最小的元素放到已排序序列的末...
java 六種資料結構
arraylist實現了可變大小的陣列。它允許所有元素,包括null。arraylist沒有同步 linkedlist實現了list介面,允許null元素。此外linkedlist提供額外的get,remove,insert方法在linkedlist的首部或尾部。這些操作使linkedlist可被用...
資料結構簡單的六種排序演算法
include using namespace std void print int a,int n 將原來根節點的值賦給較大值孩子的位置 a s temp void heap int a,int n for i n i 1 i print a,n 氣泡排序 首先對迴圈次數進行遍歷 然後開始兩兩比較...