用冒泡法對一組數:37,21,3,56,9,7進行排序時,經過多少趟排序后,得到一組數:3,9,7,21,37,56.( )
A.2
B.3
C.4
D.5
【答案】分析:依次比較相鄰的兩個數,將小數放在前面,大數放在后面.即在第一趟:首先比較第1個和第2個數,將小數放前,大數放后.然后比較第2個數和第3個數,將小數放前,大數放后,如此繼續(xù),直至比較最后兩個數,將小數放前,大數放后.至此第一趟結束,將最大的數放到了最后.在第二趟:仍從第一對數開始比較(因為可能由于第2個數和第3個數的交換,使得第1個數不再小于第2個數),將小數放前,大數放后,一直比較到倒數第二個數(倒數第一的位置上已經是最大的),第二趟結束,在倒數第二的位置上得到一個新的最大數(其實在整個數列中是第二大的數).如此下去,重復以上過程,直至最終完成排序.
解答:解:用冒泡法對一組數:37,21,3,56,9,7進行排序時,經過第一趟排序后,得到一組數:21,3,37,9,7,56.經過第二趟排序后,得到一組數:3,21,9,7,37,56.經過第三趟排序后,得到一組數:3,9,7,21,37,56.
故選B.
點評:本小題主要考查排序問題與算法的多樣性、冒泡法的應用等基礎知識.由于在排序過程中總是小數往前放,大數往后放,相當于氣泡往上升,所以稱作冒泡排序.屬于基礎題.