n個數據的冒泡升序排序需要經過n-1遍的加工,每一遍加工自下而上比較相鄰兩個數據,把較小者交換到上面,在第i遍加工過程中需要進行n-i對數據的比較。在某些情況下,第i遍加工過程中,在上面部分較小數據已經有序情況下,不需要再進行n-i對數據的比較。如對“17,18,19,24,23,20”這6個數據排序中,第1遍排序結束后數據為“17,18,19,20,24,23”,第2遍排序時不再需要對20及其前面4個數據進行比較。以下程序實現了冒泡排序的優化,但加框處代碼有誤,請改正。

【考點】冒泡排序算法及其實現.
【答案】見試題解答內容
【解答】
【點評】
聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
發布:2024/6/27 10:35:59組卷:10引用:1難度:0.3
相似題
-
1.有如下 Python 程序段:
運行后列表中的值可能是( )A.11,1,7,5,4,3 B.5,3,6,4,0,2 C.4,1,7,4,4,0 D.9,8,1,1,5,4 發布:2024/12/18 21:0:2組卷:5引用:3難度:0.3 -
2.用VB編寫的函數bubble_sort是一個用冒泡方法實現排序的函數,其調用時需要三個參數:布爾類型參數sx來確定是升序還是降序,sx為True時為升序,否則為降序;整數型數組a
比如有一個整數型數組a(1 to 10)需要降序排序,可以直接這樣調用:
a
該函數VB代碼如下:
Function bubble_sort(sx As Boolean,a
Dim i,j,t As Integer
For i=1 To n-1
For j=
If
If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
If a(j)>a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
bubble_sort=a
End Function
請將代碼補充完整:
①
②發布:2024/12/20 20:30:1組卷:23引用:2難度:0.3 -
3.用選擇排序法對一組數據進行升序排序,第一趟排序結束后的順序為2、6、9、3、7,則原始數據順序不可能的是( )
A.2、6、9、3、7 B.9、6、2、3、7 C.3、6、9、7、2 D.3、6、9、2、7 發布:2024/12/18 23:0:1組卷:10引用:1難度:0.5