把雜亂無章的數據變為有序的數據,這一過程稱為排序.冒泡排序是其中一種最基礎的排序方法,其中的升序是把數列中把較小的數據逐次向上推移的一種排序技術.它的方法是把待排序的n個元素的數組看成是垂直堆放的一列數據,從最下面一個元素起,自下而上的比較相鄰兩個元素中的數據,如果較小的數據在下面,那將較小的數據換到上面的元素中(否則不交換).重復這一過程,直到處理完最后兩個元素中的數據,稱為一遍加工,當第1遍加工完成時,最小的數據已經上升到第1個元素的位置;第2遍加工對余下的n-1個元素重復上述處理過程,第2遍加工完成后剩下最小的數據上升到第2個位置;直到n-1遍加工完成后發現數據完成了從小到大的排序.
假設有4個數據:27 36 32 18,需要4-1=3遍加工

第1遍加工如下:
第2遍加工如下:

第3遍加工如下:

假設4個數據放在數組d(1),d(2),d(3),d(4)第1遍:比較d(j)、d(j-1),j=4,3,2,比較3次;第2遍:比較d(j)、d(j-1),j=4,3,比較2次;第3遍:比較d(j)、d(j-1),j=4,比較1次;
(1)假設另有一組未經排序的數據如下:
45 67 23 87 13 30
按照上述規則進行從小到大冒泡排序,第一遍加工完成后這6個數的位次應該是13 456723873013 4567238730
冒泡排序對應流程圖片段如下:

(2)下面程序片段要實現數據d(1)..d(n)的從小到大排序,請根據上面流程圖說明,填寫中間部分代碼:…
For i=1to n-1'1到n-1遍加工

Next i…
【考點】冒泡排序算法及其實現.
【答案】13 4567238730
【解答】
【點評】
聲明:本試題解析著作權屬菁優網所有,未經書面同意,不得復制發布。
發布:2024/6/27 10:35:59組卷:17引用:1難度:0.1
相似題
-
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