[填空題] 下面程序用“冒泡”法將數(shù)組a中的10個(gè)整數(shù)按升序排列,算法是:從數(shù)組的第1個(gè)元素開始,依次將相鄰的兩個(gè)數(shù)相比較(第1個(gè)數(shù)與第2個(gè)數(shù),第2個(gè)數(shù)與第3個(gè)
[填空題] 下面程序用“冒泡”法將數(shù)組a中的10個(gè)整數(shù)按升序排列,算法是:從數(shù)組的第1個(gè)元素開始,依次將相鄰的兩個(gè)數(shù)相比較(第1個(gè)數(shù)與第2個(gè)數(shù),第2個(gè)數(shù)與第3個(gè)數(shù)……如此重復(fù)),若前面的數(shù)較大,則這兩個(gè)數(shù)交換位置。這樣執(zhí)行一遍后,最后一個(gè)數(shù)已經(jīng)是數(shù)組中最大的數(shù)。然后將數(shù)組的前n-1個(gè)數(shù)重復(fù)上述過程。如此繼續(xù),可將數(shù)組排序,請(qǐng)將程序補(bǔ)充完整。
Option Base 1
Private Sub Command1_Click()
Dim a()
a=Array(678,45,324,528,439,387,87,875,273,823)
Fori= 【10】
Forj= 【11】
If a(j) 【12】 a(j+1)Then
a1=a(j)
a(j)=a(j+1)
a(j+1)=al
End lf
Nextj
Next i
For i=1 To 10
Print a(i)
Next i
End Sub
正確答案:[10]1 To 9[11]1 To 10-i[12]>=或>
參考解析:本題主要考查了“冒泡”排序法,根據(jù)題意描述的“冒泡”法的思想,對(duì)10個(gè)數(shù)進(jìn)行排序,需要進(jìn)行9趟排序過程,故[10]處填1 To 9。每一趟中都需要進(jìn)行一定次數(shù)的兩數(shù)比較,如第一趟過程中需要對(duì)前9個(gè)數(shù)進(jìn)行相鄰數(shù)兩兩比較,第二趟中對(duì)前8個(gè)數(shù)進(jìn)行相鄰數(shù)兩兩比較,依此類推,總結(jié)規(guī)律可知 [11]處應(yīng)填1To 10-i。比較中兩數(shù)交換位置的前提條件是前面的數(shù)大于后面的數(shù)或大于等于后面的數(shù)。故[12]處應(yīng)填>=或>。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。