常用的排序演算法分為
交換排序 ( 氣泡排序 / 快速排序 )
插入排序 ( 簡單插入排序 / 希爾排序 )
選擇排序 ( 簡單選擇排序 / 堆排序 )
歸併排序
基數排序 ( 桶排序 )
交換排序顧名思義,就是陣列中的元素通過互相交換實現排序
大致思想:
將陣列遍歷,第乙個元素和第二個元素比較,誰大誰放後面,然後第二個元素和第三個元素比較,以此類推
也就是說,第一次遍歷,將最大的數放到了最後, 第二次遍歷,將第二大的數放到了次最後.以此類推
public static void bubble(int array)
int length = array.length;
//外層:需要length-1次迴圈比較
for (int i = 0; i < length - 1; i++)
}}
大致思想:
分別將陣列裡面的元素作為參照
然後依次拿參照從陣列的前後兩端開始往返對比,然後 (前-後)的大於參照的值 和 (後-前)的小於參照的值相交換;
private static void speediness(int array,int start,int end)
}array[start]=array[i];//交換i處元素和基元
array[i]=key;
speediness(array, start, i-1);//遞迴呼叫
speediness(array, i+1, end);
}}
排序演算法 交換排序之冒泡
一 主要思想 顧名思義,交換排序的主要操作是交換,其主要思想是在待排序列中選兩個記錄,將它們的關鍵碼相比較,如果反序 即排列順序與排序後的次序正好相反 則交換它們的儲存位置。二 需要解決的關鍵問題 1 在一趟起泡排序中,若有多個紀錄位於最終位,應如何記載 解決方法 設定變數 exchange 記載記...
排序演算法 五 氣泡排序(交換排序)
氣泡排序屬於交換排序 基本思想 在待排序數列中,自上而下對相鄰的兩個元素進行比較和調整,小的上冒,大的下沉 時間複雜度 最好情況 正序有序,只需比較n次,o n 最壞情況 反序有序,需要比較 n 1 n 2 1次,故o n n 穩定性 穩定 示例 bubble sort.py def bubble ...
排序演算法 交換排序(氣泡排序 快速排序)
交換排序 利用交換資料元素位置的方法進行排序的方法 基本思想 將序列中第乙個記錄與第二個記錄比較,若前乙個大於後乙個,則交換位置。然後比較第二個和第三個,第三個和第四個,以此類推,一輪之後,序列中最大的元素就到了序列最後的位置上。繼續進行第2輪,第3輪,第n 1輪。若其中某一輪途中沒有元素交換,則證...