氣泡排序和選擇排序的實現與比較

2021-08-21 15:44:47 字數 832 閱讀 8239

氣泡排序:

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

**實現(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...