氣泡排序:
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
**實現(c++):
void sort_arr2(int arr,int number_used)}}
}
選擇排序:
選擇排序是蠻力法在排序演算法中的乙個重要運用,選擇排序開始的時候,我們掃瞄整個列表,找到它的最小元素然後和第乙個元素交換,將最小元素放到它在有序表的最終位置上。然後我們從第二個元素開始掃瞄列表,找到最後n-1個元素的最小元素,再和第二個元素交換位置,把第二小的元素放在它最終的位置上。如此迴圈下去,在n-1遍以後,列表就排好序了。
**實現(c++):
void sort_arr(int arr,int number_used){
int min_num = arr[0],number = 0;
for(int index = 0;index氣泡排序:比較
(n-1)+(n-2)+...+2+1 = n*(n-1)/2=n2/2 交換
0——n2/2 = n2/4
總時間3/4*n2
選擇排序:比較
(n-1)+(n-2)+...+2+1 = n*(n-1)/2=n2/2 交換
0——3*
(n-1
)=3*
(n-1
)/2=3/2*n
總時間n2/2+3/2*n
選擇排序與氣泡排序的比較
選擇排序 selection sort 演算法核心思想 每一趟在n i 1 i 1 個記錄中選取關鍵字最小的記錄作為序列中的第i個記錄 簡單選擇操作 通過n i次關鍵字間的比較,從n i 1個記錄中選出關鍵字最小的記錄,並和第i 1 i n 個記錄交換之,先看乙個依選擇排序思想的 int selec...
選擇排序與氣泡排序區別與比較
每一趟從待排序的資料元素中選出最小 或最大 的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法。如果在 c 語言中去實現選擇排序,我們最常見的就是兩層迴圈的實現方式。從選擇排序的思想出發,我們都不難看出 n s圖如下 演算法如下 for i 0,n 2...
氣泡排序與選擇排序的簡單介紹與比較
氣泡排序public static void sortcompare 要遍歷的次數 第一輪 43521比四次 第二輪 45321比三次 第三輪 45321比兩次 第四輪 54321比一次 for int i 0 i arr.length 1 i for int count arr 選擇排序publi...