c語言中,氣泡排序和選擇排序的區別是什麼

時間 2021-08-11 18:00:45

1樓:80381誠狗

選擇排序每一趟從待排序的資料元素中選出最小(或最大)的一個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。 選擇排序是不穩定的排序方法。

氣泡排序:氣泡排序(bubblesort)的基本概念是:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。

即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。

至此第一趟結束,將最大的數放到了最後。在第二趟:仍從第一對數開始比較(因為可能由於第2個數和第3個數的交換,使得第1個數不再小於第2個數),將小數放前,大數放後,一直比較到倒數第二個數(倒數第一的位置上已經是最大的),第二趟結束,在倒數第二的位置上得到一個新的最大數(其實在整個數列中是第二大的數)。

如此下去,重複以上過程,直至最終完成排序。

2樓:玉旎機昊

總之就是氣泡排序是比較相鄰兩個數的大小然後直接換位置,而選擇排序是先找到最值然後再將最值放到相應的位置

C語言氣泡排序問題,c語言氣泡排序問題!?

文文的鵬鵬 lz的排序方法是錯誤的。比如,輸入8 6 12 0,按照lz的演算法,最終的排序結果是6 8 12 0。lz的演算法只能保證每相鄰的兩個數小在前大在後,但整體結果並不是這樣,所以排序還是要雙重迴圈的。 排序方法挺多的,各有各的優缺點的,有些人只是習慣了用某一個而已。 哈哈,可以用選擇排序...

c語言氣泡排序問題!請高手解決,C語言氣泡排序。

永星天恆 include int main void for i 0 i 5 i printf d a i 輸出排好的數字 printf n return 0 include void maopao int 函式宣告int main void maopao int p include include...

c語言選擇法排序,C語言選擇法排序

大野瘦子 include define m 5 void main int b m i,j,t,k for i 0 iscanf d b i for i 0 ifor k i,j i 1 jif b k k j if i k t b i b i b k b k t for i 0 iprintf d...