




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
排序算法的分析及實(shí)現(xiàn)冒泡排序和選擇排序排序算法的分析及實(shí)現(xiàn)冒泡排序和選擇排序排序的意義排序是為了將一組雜亂的數(shù)據(jù)變成一組有序的數(shù)據(jù)。(遞增或遞減)排序的意義排序是為了將一組雜亂的數(shù)據(jù)變成一組有序的數(shù)據(jù)。(遞理解:冒泡排序是在一列數(shù)據(jù)中把較小的數(shù)據(jù)逐次向上推移的一種排序技術(shù)。冒泡排序理解:冒泡排序是在一列數(shù)據(jù)中把較小的數(shù)據(jù)逐次向上推移的一種排數(shù)組為了存儲(chǔ)一組數(shù)據(jù),我們需要用到數(shù)組變量例如dimd(1to1000)asinteger定義了一個(gè)數(shù)組變量d,下標(biāo)從1到1000數(shù)組為了存儲(chǔ)一組數(shù)據(jù),我們需要用到數(shù)組變量例如dim冒泡排序用數(shù)組來(lái)存儲(chǔ)一系列同類型的數(shù)據(jù),然后調(diào)整數(shù)組中的元素例如:dimd(1to4)asinteger‘定義一個(gè)數(shù)組變量d27363218d(1)d(2)d(3)d(4)jj-127361832jj-127183632jj-118273632第1次冒泡排序時(shí)j從4開(kāi)始到2冒泡排序用數(shù)組來(lái)存儲(chǔ)一系列同類型的數(shù)據(jù),然后調(diào)整數(shù)組中的元算法分析第1次冒泡排序時(shí)j從4開(kāi)始到2Forj=4to2step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第2次冒泡排序時(shí)j從4開(kāi)始到3Forj=4to3step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第3次冒泡排序時(shí)j從4開(kāi)始到4Forj=4to4step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值以i表示次數(shù)當(dāng)i從1到3變化時(shí)每次j從4到i+1時(shí)
d(j)比d(j-1)小,則交換它們算法分析第1次冒泡排序時(shí)j從4開(kāi)始到2Forj=程序代碼:Fori=1Ton-1
Forj=nToi+1Step-1Ifd(j)<d(j-1)Then()EndIf
NextjNextik=d(j):d(j)=d(j-1):d(j-1)=k當(dāng)i從1到3變化時(shí)每次j從4到i+1時(shí)
d(j)比d(j-1)小,則交換它們N表示有幾個(gè)數(shù)進(jìn)行排序兩個(gè)數(shù)進(jìn)行數(shù)據(jù)交換,就象兩杯水進(jìn)行交換,需要再拿一個(gè)空杯程序代碼:Fori=1Ton-1k=d(j開(kāi)始i=1i≤n-1?j=nj>i?d(j)<d(j-1)?j=j-1輸出已排序數(shù)組d結(jié)束i=i+1互換d(j)與d(j-1)的數(shù)據(jù)YYYNNN當(dāng)i從1到3變化時(shí)每次j從4到i+1時(shí)d(j)比d(j-1)小,則交換它j>=i+1開(kāi)始i=1i≤n-1?j=nj>i?d(j)<d(j-1)?冒泡排序算法
PrivateSubCommand1_Click()'對(duì)8個(gè)數(shù)進(jìn)行冒泡法排序
List2.Clear'將排序后的列表數(shù)據(jù)清空Fori=1To7Forj=8Toi+1Step-1Ifd(j)<d(j-1)Then
k=d(j):d(j)=d(j-1):d(j-1)=kEndIf
NextjNextiFori=1To8List2.AddItemStr(d(i))'在列表2中顯示排序后的數(shù)據(jù)NextiEndSub冒泡排序算法PrivateSubCommand1_Cl某書(shū)店在5所學(xué)校流動(dòng)售書(shū)量(單位:本)分別是82、113、46、69、35。采用冒泡排序?qū)ζ溥M(jìn)行排序,若完成第一遍時(shí)的結(jié)果是35、82、113、46、69,則完成第二遍時(shí)的結(jié)果是 (
)A.35、82、113、46、69B.35、46、82、69、113C.35、46、82、113、69D.35、46、69、82、113C某書(shū)店在5所學(xué)校流動(dòng)售書(shū)量(單位:本)分別是82、113、42.下表記錄了6個(gè)數(shù)據(jù)的排序過(guò)程。分析表中數(shù)據(jù)可知,該排序采用的算法與排序方式分別為 (
)冒泡排序,降序選擇排序,降序冒泡排序,升序
選擇排序,升序C2.下表記錄了6個(gè)數(shù)據(jù)的排序過(guò)程。分析表中數(shù)據(jù)可知,該排序采3.實(shí)現(xiàn)某排序算法的部分VB程序如下:Fori=1To4Forj=5Toi+1Step-1Ifa(j)<a(j-1)Thent=a(j):a(j)=a(j-1):a(j-1)=tNextjNexti
在經(jīng)過(guò)某一遍排序“加工”后,數(shù)組元素a(l)到a(5)的數(shù)據(jù)依次為“25、77、51、59、32”。則下一遍排序“加工”后數(shù)組元素a(l)到a(5)的數(shù)據(jù)應(yīng)該是 (
)A.25、32、77、51、59B.25、32、51、59、77C.25、32、59、51、77D.25、32、51、7、59A3.實(shí)現(xiàn)某排序算法的部分VB程序如下:A4.有一組原始數(shù)據(jù):23、25、18、63、84、77、65、9、33、17。利用冒泡排序算法進(jìn)行從小到大排序,最多需要進(jìn)行(
)次加工,才可以完成整個(gè)數(shù)據(jù)的排序。A.5 B.6 C.8 D.9D4.有一組原始數(shù)據(jù):23、25、18、63、84、77、65書(shū)籍將數(shù)據(jù)3、6、9、5、8、1進(jìn)行一趟冒泡排序后得到的數(shù)據(jù)剛好是小楊的銀行卡密碼,那么小楊的銀行卡密碼是(
)A.369581 B.136958 C.135698 D.316958B書(shū)籍將數(shù)據(jù)3、6、9、5、8、1進(jìn)行一趟冒泡排序后得到的數(shù)據(jù)在某年市機(jī)器人投藍(lán)比賽決賽中,共有5支隊(duì)伍參加,各隊(duì)的最終成績(jī)?nèi)缦拢?2、74、66、95、70(單位:個(gè)/分鐘),現(xiàn)用冒泡排序算法來(lái)實(shí)現(xiàn)這些數(shù)據(jù)的排序操作:則在第2遍加工的操作中,共需要交換數(shù)據(jù)的次數(shù)是 (
)A.1次 B.2次 C.3次 D.4次B在某年市機(jī)器人投藍(lán)比賽決賽中,共有5支隊(duì)伍參加,各隊(duì)的最終成有如下VB程序段:s=“”Fori=1To3Forj=6Toi+1Step-1Ifa(j)<a(j-1)Thenk=a(j):a(j)=a(j-1):a(j-1)=kEndIfNextjs=s+str(a(i))NextiText1.Text=str(s)有如下VB程序段:數(shù)組元素從a(1)到a(6)的數(shù)據(jù)依次為“3、7、2、5、8、9”,經(jīng)過(guò)該程序“加工”后,文本框Text1中顯示的是 (
)A.987B.235C.372D.732B數(shù)組元素從a(1)到a(6)的數(shù)據(jù)依次為“3、7、2、5、8有一組原始數(shù)據(jù):13、15、8、65、14、33。若采用冒泡法進(jìn)行排序,則共需比較的次數(shù)為 (
) A.21 B.15 C.10 D.28B有一組原始數(shù)據(jù):13、15、8、65、14、33。若采用冒泡設(shè)計(jì)一個(gè)VB程序,點(diǎn)擊“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕,程序自動(dòng)在列表框List1中產(chǎn)生15個(gè)1000以內(nèi)的隨機(jī)非負(fù)數(shù),點(diǎn)擊“冒泡排序”按鈕,對(duì)這些數(shù)據(jù)按冒泡算法進(jìn)行從大到小排序。程序運(yùn)行時(shí)界面如圖9-1所示:圖9-1設(shè)計(jì)一個(gè)VB程序,點(diǎn)擊“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕,程序自動(dòng)在(1)(1)設(shè)計(jì)應(yīng)用程序界面時(shí),為添加“冒泡排序”按鈕,應(yīng)使用如圖9-2所示的“控件工具箱”中的________(填寫(xiě)相應(yīng)編號(hào)),并在圖9-3所示的“屬性”窗口中,將__________屬性值設(shè)置為“冒泡排序”。4Caption圖9-2圖9-3(1)(1)設(shè)計(jì)應(yīng)用程序界面時(shí),為添加“冒泡排序”按鈕,應(yīng)使(2)從左至右的兩個(gè)列表框的名稱分別是List1和List2,“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕的名稱是Command1,“冒泡排序”按鈕的名稱是Command2。請(qǐng)根據(jù)題意將下列程序補(bǔ)充完整。Dima(1To15)AsIntegerDimnAsInteger
PrivateSubCommand1_Click()n=15RandomizeList1.ClearList2.ClearFori=1To15①List1.AddItemStr(i)&“:”
&Str(a(i))NextiEndSub(2)從左至右的兩個(gè)列表框的名稱分別是List1和List2PrivateSubCommand2_Click()DimtAsIntegerList2.ClearFori=1Ton-1Forj=nToi+1Step-1If②Thent=a(j):a(j)=a(j-1):a(j-1)=tEndIfNextjNextiFori=1TonList2.AddItemStr(i)&“:”
&Str(a(i))NextiEndSub(1)程序中①劃線處應(yīng)填入___________________。(2)程序中②劃線處應(yīng)填入___________________。注:該示例程序在素材文件夾下vb23文件夾中。a(i)=Int(Rnd()*1001)a(j)>a(j-1)PrivateSubCommand2_Click()(1新學(xué)年開(kāi)學(xué)安排坐位,需要先根據(jù)學(xué)生身高排好隊(duì)。以下VB程序?yàn)榕抨?duì)程序,其中變量s為學(xué)生總數(shù),數(shù)組n存儲(chǔ)學(xué)生姓名,數(shù)組h存儲(chǔ)學(xué)生身高(單位:厘米)。程序界面如下圖所示。程序運(yùn)行時(shí),自動(dòng)加載學(xué)生姓名與身高數(shù)據(jù),點(diǎn)擊“排隊(duì)”按鈕,按學(xué)生身高從低到高進(jìn)行排序。新學(xué)年開(kāi)學(xué)安排坐位,需要先根據(jù)學(xué)生身高排好隊(duì)。以下VB程序?yàn)閷?shí)現(xiàn)該功能的程序代碼如下:Dimn(1To60)AsStringDimh(1To60)AsIntegerConsts=60
PrivateSubCommand1_Click()DimiAsInteger,jAsIntegerDimtAsIntegerDimkAs①List1.ClearFori=1Tos-1Forj=i+1TosIf②Thent=h(i):h(i)=h(j):h(j)=t③EndIfNextjNextiFori=1TosList1.AddItemn(i)&“:”&Str(h(i))NextiEndSubPrivateSubForm_Load()'學(xué)生姓名數(shù)據(jù)n賦值語(yǔ)句,此處省略'學(xué)生身高數(shù)據(jù)h賦值語(yǔ)句,此處省略Fori=1TosList1.AddItemn(i)&“:”
&Str(h(i))
'在列表框顯示學(xué)生姓名與身高原始數(shù)據(jù)NextiEndSub為使程序完整,請(qǐng)?jiān)趧澗€處填上合適的語(yǔ)句。(1)劃線①處應(yīng)填入______________________。(2)劃線②處應(yīng)填入______________________。(3)劃線③處應(yīng)填入______________________。Stringh(i)>h(j)k=n(i):n(i)=n(j):n(j)=k實(shí)現(xiàn)該功能的程序代碼如下:PrivateSubForm_葉錦平和同學(xué)們?nèi)マr(nóng)科院開(kāi)展研究性學(xué)習(xí),大家都收獲很大,錦平設(shè)計(jì)了一個(gè)VB程序,他把同學(xué)們收集到的水稻畝產(chǎn)量和同學(xué)姓名已分別保存在數(shù)組a和數(shù)組b中,第i個(gè)同學(xué)收集的畝產(chǎn)量保存在a(i)中,對(duì)應(yīng)的同學(xué)姓名保存在b(i)中,最后按畝產(chǎn)量從高到低進(jìn)行排序。
程序界面如圖所示,左邊列表框List1中顯示的是所有同學(xué)收集到的原始數(shù)據(jù),單擊”排序”按鈕(Command1)后,在右邊的列表框List2中顯示排序完成后的結(jié)果(按畝產(chǎn)量從高到低排列)。葉錦平和同學(xué)們?nèi)マr(nóng)科院開(kāi)展研究性學(xué)習(xí),大家都收獲很大,錦平設(shè)解決此問(wèn)題的算法流程圖如圖所示,相應(yīng)的排序部分程序如下:Dima(1Ton)AsSingleDimb(1Ton)AsStringPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,cAsSingle,tAsStringList2.ClearFori=1Ton–1
'設(shè)共有n名同學(xué)Forj=①If②Thenc=a(j-1)a(j-1)=a(j)a(j)=ct=b(j-1)b(j-1)=b(j)b(j)=tEndIfNextjNextiFori=1TonList2.AddItemStr(a(i))+“”+b(i)NextiEndSubPrivateSubForm_Load()'此過(guò)程用于對(duì)數(shù)組a和數(shù)組b進(jìn)行初始賦值,代碼略List1.AddItemStr(a(i))+“”+b(i)
'在列表框List1中顯示原始數(shù)據(jù)EndSub(1)解決此問(wèn)題的算法是___________________。在程序①和②劃線處填入適當(dāng)?shù)恼Z(yǔ)句或表達(dá)式,將程序補(bǔ)充完整:(2)程序中①劃線處應(yīng)填入_________________。(3)程序中②劃線處應(yīng)填入_________________。注:該示例程序在素材文件夾下vb25文件夾中。冒泡排序算法ntoi+1Step-1a(j)>a(j-1)解決此問(wèn)題的算法流程圖如圖所示,相應(yīng)的排序部分程序如下:(1選擇排序選擇排序(遞增)的方法是找出數(shù)組元素中最小的數(shù)據(jù),使它與第一個(gè)元素中的數(shù)據(jù)交換位置在余下的元素中繼續(xù)找最小的元素,與第二個(gè)元素中的數(shù)據(jù)交換位置
……
選擇排序選擇排序(遞增)的方法是算法演示第1
遍選擇27363218d(1)d(2)d(3)d(4)j=2Min=1
27363218j=3Min=1
27363218j=4Min=j
18363227Min=1Forj=2to4
ifd(min)>d(j)thenmin=jNextj如果最小的數(shù)所在的位置不是1,則交換d(min)和d(1)的位置
如果找到更小的,用min記住它的編號(hào)
算法演示第1遍選擇27363218d(1)d(2分析第1遍選擇,j從2開(kāi)始到4Min=1Forj=2to4ifd(min)>d(j)thenmin=jNextjIfmin<>1,交換d(1)和d(min)Min=2Forj=3to4ifd(min)>d(j)thenmin=jNextjIfmin<>2then交換d(2)和d(min)第2遍選擇,j從3開(kāi)始到4第3遍選擇,j從4開(kāi)始到4Min=3Forj=4to4ifd(min)>d(j)thenmin=jNextjIfmin<>3then交換d(3)和d(min)用i來(lái)表示次數(shù)的變化分析第1遍選擇,j從2開(kāi)始到4Min=1Min=2第2遍選程序?qū)崿F(xiàn)Fori=1Tonum-1‘n個(gè)數(shù),排序n-1次
Min=i
Forj=i+1Tonum'如果找到更小的,用min記住它的編號(hào)
Ifd(Min)>d(j)ThenMin=j
Nextj
IfMin<>iThen'如果最小的數(shù)所在的位置不是i,則交換
k=d(i):d(i)=d(Min):d(Min)=k
EndIfNexti數(shù)組元素的個(gè)數(shù)程序?qū)崿F(xiàn)Fori=1Tonum-1PrivateSubCommand1_Click()'對(duì)8個(gè)數(shù)進(jìn)行選擇法排序List2.Clear'將排序后的列表數(shù)據(jù)清空Fori=1To7'n個(gè)數(shù),排序n-1次
Min=i
Forj=i+1To8'如果找到更小的,用min記住它的編號(hào)
Ifd(Min)>d(j)ThenMin=j
Nextj
IfMin<>iThen'如果最小的數(shù)所在的位置不是i,則交換
k=d(i)
d(i)=d(Min)
d(Min)=k
EndIfNexti
Fori=1To8List2.AddItemStr(d(i))'在列表2中顯示排序后的數(shù)據(jù)NextiEndSub選擇法排序PrivateSubCommand1_Click()用選擇排序算法對(duì)一組學(xué)生的身高數(shù)據(jù)進(jìn)行升序排序,已知第一遍排序結(jié)束后的數(shù)據(jù)序列為166、169、177、175、172,則下列選項(xiàng)中可能是原始數(shù)據(jù)序列的是(
)A.175、177、169、166、172B.177、169、166、175、172C.166、177、169、175、172D.166、169、172、175、177B用選擇排序算法對(duì)一組學(xué)生的身高數(shù)據(jù)進(jìn)行升序排序,已知第一遍排2.有6位裁判為運(yùn)動(dòng)員評(píng)分,給出的分?jǐn)?shù)分別為48、45、63、46、59、57。采用選擇排序算法對(duì)其進(jìn)行排序,若完成第一遍時(shí)的結(jié)果為:63、45、48、46、59、57,則完成第二遍時(shí)的結(jié)果是 (
)A.63、45、48、46、59、57B.63、59、57、48、45、46C.63、59、57、46、45、48D.63、59、48、46、45、57D2.有6位裁判為運(yùn)動(dòng)員評(píng)分,給出的分?jǐn)?shù)分別為48、45、633.某校通過(guò)政府招投標(biāo)中心采購(gòu)一套多媒體教學(xué)設(shè)備,有5家單位參加競(jìng)標(biāo),競(jìng)標(biāo)價(jià)分別為18萬(wàn)、17萬(wàn)、23萬(wàn)、15萬(wàn)、16萬(wàn)元人民幣。若采用選擇排序算法對(duì)標(biāo)價(jià)從大到小排序,需要進(jìn)行數(shù)據(jù)互換的次數(shù)是 (
)A.1 B.3 C.4 D.5B3.某校通過(guò)政府招投標(biāo)中心采購(gòu)一套多媒體教學(xué)設(shè)備,有5家單位4.圣誕節(jié)即將來(lái)臨,某商場(chǎng)欲對(duì)倉(cāng)庫(kù)某貨號(hào)商品進(jìn)行補(bǔ)倉(cāng)以應(yīng)對(duì)即將舉辦的促銷活動(dòng)。6家供貨商給出的報(bào)價(jià)分別為48、43、60、46、58、55,若采用選擇排序算法對(duì)其進(jìn)行從大到小排序,則第三遍的排序結(jié)果是 (
)CA.60、58、48、46、43、55 B.60、43、48、46、58、55C.60、58、55、46、43、48 D.60、58、55、48、46、434.圣誕節(jié)即將來(lái)臨,某商場(chǎng)欲對(duì)倉(cāng)庫(kù)某貨號(hào)商品進(jìn)行補(bǔ)倉(cāng)以應(yīng)對(duì)即已知算法1與算法2都是排序算法,可能是冒泡排序或者選擇排序,下面的表格反應(yīng)的是在不同量的數(shù)據(jù)下,排序時(shí)進(jìn)行數(shù)據(jù)交換的次數(shù),分析算法1與算法2最有可能的排序算法分別是 (
)CA.冒泡排序冒泡排序 B.選擇排序選擇排序C.冒泡排序選擇排序 D.選擇排序冒泡排序已知算法1與算法2都是排序算法,可能是冒泡排序或者選擇排序,下列關(guān)于排序的說(shuō)法,錯(cuò)誤的是 (
)A.相對(duì)而言,選擇排序算法的效率比冒泡排序算法高B.冒泡排序算法和選擇排序算法的都需要用到雙循環(huán)結(jié)構(gòu)C.對(duì)于n個(gè)無(wú)序數(shù)據(jù),不管是冒泡排序還是選擇排序,都要經(jīng)過(guò)n-1遍加工D.冒泡排序算法的程序?qū)崿F(xiàn)一般要用到數(shù)組變量k,而選擇排序則不需要C下列關(guān)于排序的說(shuō)法,錯(cuò)誤的是 ()C小明編寫(xiě)了一個(gè)統(tǒng)計(jì)數(shù)組元素a(l)到a(n)中的“升序段”個(gè)數(shù)s(如圖所示的數(shù)據(jù)序列,其“升序段”的個(gè)數(shù)等于3)的VB程序。部分程序代碼如下:k=0s=0Fori=2TonIfa(i)>a(i-1)Then
Elsek=0EndIfIfk=1Thens=s+1NextiTextl.Text=Str(s)方框中的正確語(yǔ)句是 (
)A.k=k-1 B.K=1 C.K=-1 D.K=k+1D小明編寫(xiě)了一個(gè)統(tǒng)計(jì)數(shù)組元素a(l)到a(n)中的“升序段”個(gè)…Fori=1Ton-1
k=iForj=i+1TonIfd(j)<d(k)Thenk=j(luò)Nextj
Ifi<>kThent=d(i):d(i)=d(k):d(k)=t
EndIfNexti…D8.下列VB程序段是選擇法排序程序的主要部分。其中虛線框內(nèi)代碼用于尋找數(shù)組元素d(i)到d(n)的最小值。虛虛線框內(nèi)代碼運(yùn)行結(jié)束時(shí),保存最小值的數(shù)組元素一定是(
)A.d(n) B.d(j)C.d(i) D.d(k)D…D8.下列VB程序段是選擇法排序程序的主要部分。其中虛線框有如下VB程序,運(yùn)行時(shí),點(diǎn)擊“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕將隨機(jī)產(chǎn)生15個(gè)1000以內(nèi)的隨機(jī)非負(fù)整數(shù),如下圖所示,PrivateSubCommand2_Click()Fori=1Ton-1k=iForj=i+1Ton
Ifa(j)<a(k)Thenk=j(luò)NextjIfi<>kThen
t=a(i):a(i)=a(k):a(k)=tEndIfNextiFori=1Ton
List2.AddItemStr(i)&“:”&Str(a(i))NextiEndSub注:該示例程序在素材文件夾下vb26文件夾中。點(diǎn)擊“選擇排序”時(shí),輸出的數(shù)據(jù)結(jié)果在屏幕上從上到下的顯示順序?yàn)開(kāi)________(選填從大到小/從小到大)。若要使它以相反的順序顯示,那么方框內(nèi)的語(yǔ)句應(yīng)修改為_(kāi)_________。從小到大a(j)>a(k)有如下VB程序,運(yùn)行時(shí),點(diǎn)擊“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕將隨機(jī)10.2010年冬奧會(huì)開(kāi)幕式中各代表團(tuán)的入場(chǎng)順序是:希臘排在第一位,東道主加拿大排在最后一位,其余80個(gè)代表團(tuán)入場(chǎng)順序按國(guó)家或地區(qū)名稱依次排列。下列VB程序?qū)崿F(xiàn)如下功能:?jiǎn)螕裘畎粹oCommand1后,在列表框List1中按入場(chǎng)順序顯示所有代表團(tuán)的名稱。請(qǐng)回答下列問(wèn)題:(1)虛線框內(nèi)程序段所用的排序算法的名稱是_________________。在劃線出填入合適的代碼。
Dima(0To81)AsStringDimnAsIntegerPrivateSubForm_Load()
'用于將82個(gè)參賽代表團(tuán)名稱放入數(shù)組a中n=80a(0)=“Greece”a(n+1)=“Canada”'另外80個(gè)代表團(tuán)名稱放在a(1)至a(80)中,代碼略EndSubPrivateSubCommand1_Click()DimsAs①DimiAsInteger,jAsInteger,kAsIntegerFori=1Ton-1k=iForj=i+1TonIfa(j)<a(k)Thenk=jNextjs=a(i):a(i)=a(k):a(k)=sNextiList1.ClearFori=0To②List1.AddItema(i)NextiEndSub選擇排序算法String81
(3)程序中②劃線處應(yīng)填入_______。(2)程序中①劃線處應(yīng)填入_______。10.2010年冬奧會(huì)開(kāi)幕式中各代表團(tuán)的入場(chǎng)順序是:希臘排在11.某俱樂(lè)部舉行射擊比賽,最后有十人進(jìn)入決賽,錄入員編制了如下VB程序,功能是根據(jù)成績(jī)進(jìn)行排序,程序中數(shù)組a保存所有參賽者的姓名,數(shù)組b保存此成績(jī)對(duì)應(yīng)的成績(jī),第i位參賽者的姓名保存在a(i)中,成績(jī)保存在b(i)中。程序界面如圖所示,左邊列表框List1中顯示原始數(shù)據(jù)(姓名和相應(yīng)的成績(jī)),單擊“排序”按鈕(Command1),排序后的結(jié)果按成績(jī)從高到低顯示在列表框List2中。11.某俱樂(lè)部舉行射擊比賽,最后有十人進(jìn)入決賽,錄入員編制了解決此問(wèn)題的算法流程圖如圖所示,排序部分的程序段如下:Dima(1To12)AsStringDimb(1To12)AsSinglePrivateSubCommand1_Click()DimiAsInteger,jAsInteger,kAsInteger,xAsSingle,yAsStringFori=1To11
k=i
Forj=i+1To12If①Thenk=j(luò)
Nextj
Ifk<>iThen
y=a(i):a(i)=a(k):a(k)=y(tǒng)
②
EndIfNexti
Fori=1To12List2.AddItema(i)+””+Str(b(i))
NextiEndSubPrivateSubForm_Load()'此過(guò)程用于對(duì)數(shù)組a和數(shù)組b進(jìn)行初始賦值,代碼略EndSub(1)解決此問(wèn)題的算法是____________________。(2)程序中①劃線處應(yīng)填入____________________。(3)程序中②劃線處應(yīng)填入____________________。注:該示例程序在素材文件夾下vb27文件夾中。選擇排序算法b(j)>b(k)x=b(i):b(i)=b(k):b(k)=x解決此問(wèn)題的算法流程圖如圖所示,排序部分的程序段如下:(1)某校高三年級(jí)段要將模擬考試成績(jī)進(jìn)行一個(gè)排名,需要對(duì)總分進(jìn)行排名次。以下程序運(yùn)行時(shí),自動(dòng)在列表框顯示學(xué)生姓名與成績(jī),點(diǎn)擊“排名次”按鈕Command1,將按成績(jī)從高到底進(jìn)行排序。程序運(yùn)行界面如下圖所示:某校高三年級(jí)段要將模擬考試成績(jī)進(jìn)行一個(gè)排名,需要對(duì)總分進(jìn)行排部分程序代碼如下所示:Dimxm(1To45)AsString
'用于存儲(chǔ)學(xué)生姓名Dimcj(1To45)AsSingle
'用于存儲(chǔ)學(xué)生總分PrivateSubCommand1_Click()
List1.Clear
DimiAsInteger,jAsInteger,kAsInteger,xAsSingle,yAsString
Fori=1To44k=iFor_______①_______
Ifcj(j)>cj(k)Thenk=j(luò)NextjIfk<>iThen
x=cj(i):cj(i)=cj(k):cj(k)=x
y=xm(i):xm(i)=xm(k):xm(k)=y(tǒng)EndIf
Nexti
Fori=______②______
List1.AddItemStr(i)+””+xm(i)+””+Str(cj(i))
NextiEndSub
在程序①和②劃線處,填入適當(dāng)?shù)恼Z(yǔ)句或表達(dá)式,把程序補(bǔ)充完整:(1)程序中①劃線處應(yīng)填入____________________________。(2)程序中②劃線處應(yīng)填入____________________________。注:該示例程序在素材文件夾下vb28文件夾中。PrivateSubForm_Load()'此處為姓名與成績(jī)賦值語(yǔ)句,忽略
Fori=1To45List1.AddItemxm(i)+””+Str(cj(i))
NextiEndSubj=i+1To451To45部分程序代碼如下所示:在程序①和②劃線處,填入適當(dāng)?shù)恼Z(yǔ)句或表(操作題)設(shè)計(jì)一個(gè)VB程序,模擬電商網(wǎng)站的商品價(jià)格排序(假設(shè)共100個(gè)價(jià)格)。運(yùn)行界面如下圖所示:(操作題)設(shè)計(jì)一個(gè)VB程序,模擬電商網(wǎng)站的商品價(jià)格排序(假設(shè)(1)請(qǐng)按下表中的說(shuō)明在窗體中添加控件并設(shè)置控件的屬性值:(2)打開(kāi)代碼窗口,添加變量聲明代碼:Dima(1To100)AsSingle
'定義價(jià)格數(shù)組DimiAsInteger,jAsInteger,kAsIntegerDimtAsSingleConstn=100(1)請(qǐng)按下表中的說(shuō)明在窗體中添加控件并設(shè)置控件的屬性值:((3)雙擊窗體,添加數(shù)組初始化代碼:PrivateSubForm_Load()
Fori=1To100a(i)=Format(Rnd()*100+500,“00.0”)
'模擬價(jià)格,產(chǎn)生500至600一個(gè)隨機(jī)數(shù),帶一位小數(shù)List1.AddItema(i)
NextiEndSub(3)雙擊窗體,添加數(shù)組初始化代碼:(4)雙擊“排序”按鈕Command1,添加如下代碼PrivateSubCommand1_Click()
List1.Clear
Fori=1Ton-1k=iForj=i+1Ton
IfOption1.Value=TrueThen
If①Thenk=j(luò)
'按價(jià)格從低到高排序
Else
Ifa(j)>a(k)Thenk=j(luò)
'按價(jià)格從高到底排序
EndIfNextjIfi<>kThen
t=a(i):a(i)=a(k):a(k)=tEndIf
Nexti
Fori=1To100
②
'顯示排序后的數(shù)據(jù)
NextiEndSub(4)雙擊“排序”按鈕Command1,添加如下代碼(5)在程序①和②劃線處,填入適當(dāng)?shù)恼Z(yǔ)句或表達(dá)式,把程序補(bǔ)充完整:①劃線處應(yīng)填入___________________________________。②劃線處應(yīng)填入___________________________________。(6)程序調(diào)試正確后,在當(dāng)前文件夾下生成“moni.exe”,并遞交給老師。注:該示例程序在素材文件夾下vb29文件夾中。a(j)<a(k)List1.AddItema(i)(5)在程序①和②劃線處,填入適當(dāng)?shù)恼Z(yǔ)句或表達(dá)式,把程序補(bǔ)充選擇排序和冒泡排序的比較以n個(gè)數(shù)據(jù)為例選擇排序和冒泡排序的比較以n個(gè)數(shù)據(jù)為例3718285用冒泡排序從大到小排序第4趟結(jié)果是:用選擇排序從小到大排序第3趟結(jié)果是:3718285用冒泡排序從大到小排序第4排序算法的分析及實(shí)現(xiàn)冒泡排序和選擇排序排序算法的分析及實(shí)現(xiàn)冒泡排序和選擇排序排序的意義排序是為了將一組雜亂的數(shù)據(jù)變成一組有序的數(shù)據(jù)。(遞增或遞減)排序的意義排序是為了將一組雜亂的數(shù)據(jù)變成一組有序的數(shù)據(jù)。(遞理解:冒泡排序是在一列數(shù)據(jù)中把較小的數(shù)據(jù)逐次向上推移的一種排序技術(shù)。冒泡排序理解:冒泡排序是在一列數(shù)據(jù)中把較小的數(shù)據(jù)逐次向上推移的一種排數(shù)組為了存儲(chǔ)一組數(shù)據(jù),我們需要用到數(shù)組變量例如dimd(1to1000)asinteger定義了一個(gè)數(shù)組變量d,下標(biāo)從1到1000數(shù)組為了存儲(chǔ)一組數(shù)據(jù),我們需要用到數(shù)組變量例如dim冒泡排序用數(shù)組來(lái)存儲(chǔ)一系列同類型的數(shù)據(jù),然后調(diào)整數(shù)組中的元素例如:dimd(1to4)asinteger‘定義一個(gè)數(shù)組變量d27363218d(1)d(2)d(3)d(4)jj-127361832jj-127183632jj-118273632第1次冒泡排序時(shí)j從4開(kāi)始到2冒泡排序用數(shù)組來(lái)存儲(chǔ)一系列同類型的數(shù)據(jù),然后調(diào)整數(shù)組中的元算法分析第1次冒泡排序時(shí)j從4開(kāi)始到2Forj=4to2step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第2次冒泡排序時(shí)j從4開(kāi)始到3Forj=4to3step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值第3次冒泡排序時(shí)j從4開(kāi)始到4Forj=4to4step-1ifd(j)<d(j-1)then交換d(j)和d(j-1)的值以i表示次數(shù)當(dāng)i從1到3變化時(shí)每次j從4到i+1時(shí)
d(j)比d(j-1)小,則交換它們算法分析第1次冒泡排序時(shí)j從4開(kāi)始到2Forj=程序代碼:Fori=1Ton-1
Forj=nToi+1Step-1Ifd(j)<d(j-1)Then()EndIf
NextjNextik=d(j):d(j)=d(j-1):d(j-1)=k當(dāng)i從1到3變化時(shí)每次j從4到i+1時(shí)
d(j)比d(j-1)小,則交換它們N表示有幾個(gè)數(shù)進(jìn)行排序兩個(gè)數(shù)進(jìn)行數(shù)據(jù)交換,就象兩杯水進(jìn)行交換,需要再拿一個(gè)空杯程序代碼:Fori=1Ton-1k=d(j開(kāi)始i=1i≤n-1?j=nj>i?d(j)<d(j-1)?j=j-1輸出已排序數(shù)組d結(jié)束i=i+1互換d(j)與d(j-1)的數(shù)據(jù)YYYNNN當(dāng)i從1到3變化時(shí)每次j從4到i+1時(shí)d(j)比d(j-1)小,則交換它j>=i+1開(kāi)始i=1i≤n-1?j=nj>i?d(j)<d(j-1)?冒泡排序算法
PrivateSubCommand1_Click()'對(duì)8個(gè)數(shù)進(jìn)行冒泡法排序
List2.Clear'將排序后的列表數(shù)據(jù)清空Fori=1To7Forj=8Toi+1Step-1Ifd(j)<d(j-1)Then
k=d(j):d(j)=d(j-1):d(j-1)=kEndIf
NextjNextiFori=1To8List2.AddItemStr(d(i))'在列表2中顯示排序后的數(shù)據(jù)NextiEndSub冒泡排序算法PrivateSubCommand1_Cl某書(shū)店在5所學(xué)校流動(dòng)售書(shū)量(單位:本)分別是82、113、46、69、35。采用冒泡排序?qū)ζ溥M(jìn)行排序,若完成第一遍時(shí)的結(jié)果是35、82、113、46、69,則完成第二遍時(shí)的結(jié)果是 (
)A.35、82、113、46、69B.35、46、82、69、113C.35、46、82、113、69D.35、46、69、82、113C某書(shū)店在5所學(xué)校流動(dòng)售書(shū)量(單位:本)分別是82、113、42.下表記錄了6個(gè)數(shù)據(jù)的排序過(guò)程。分析表中數(shù)據(jù)可知,該排序采用的算法與排序方式分別為 (
)冒泡排序,降序選擇排序,降序冒泡排序,升序
選擇排序,升序C2.下表記錄了6個(gè)數(shù)據(jù)的排序過(guò)程。分析表中數(shù)據(jù)可知,該排序采3.實(shí)現(xiàn)某排序算法的部分VB程序如下:Fori=1To4Forj=5Toi+1Step-1Ifa(j)<a(j-1)Thent=a(j):a(j)=a(j-1):a(j-1)=tNextjNexti
在經(jīng)過(guò)某一遍排序“加工”后,數(shù)組元素a(l)到a(5)的數(shù)據(jù)依次為“25、77、51、59、32”。則下一遍排序“加工”后數(shù)組元素a(l)到a(5)的數(shù)據(jù)應(yīng)該是 (
)A.25、32、77、51、59B.25、32、51、59、77C.25、32、59、51、77D.25、32、51、7、59A3.實(shí)現(xiàn)某排序算法的部分VB程序如下:A4.有一組原始數(shù)據(jù):23、25、18、63、84、77、65、9、33、17。利用冒泡排序算法進(jìn)行從小到大排序,最多需要進(jìn)行(
)次加工,才可以完成整個(gè)數(shù)據(jù)的排序。A.5 B.6 C.8 D.9D4.有一組原始數(shù)據(jù):23、25、18、63、84、77、65書(shū)籍將數(shù)據(jù)3、6、9、5、8、1進(jìn)行一趟冒泡排序后得到的數(shù)據(jù)剛好是小楊的銀行卡密碼,那么小楊的銀行卡密碼是(
)A.369581 B.136958 C.135698 D.316958B書(shū)籍將數(shù)據(jù)3、6、9、5、8、1進(jìn)行一趟冒泡排序后得到的數(shù)據(jù)在某年市機(jī)器人投藍(lán)比賽決賽中,共有5支隊(duì)伍參加,各隊(duì)的最終成績(jī)?nèi)缦拢?2、74、66、95、70(單位:個(gè)/分鐘),現(xiàn)用冒泡排序算法來(lái)實(shí)現(xiàn)這些數(shù)據(jù)的排序操作:則在第2遍加工的操作中,共需要交換數(shù)據(jù)的次數(shù)是 (
)A.1次 B.2次 C.3次 D.4次B在某年市機(jī)器人投藍(lán)比賽決賽中,共有5支隊(duì)伍參加,各隊(duì)的最終成有如下VB程序段:s=“”Fori=1To3Forj=6Toi+1Step-1Ifa(j)<a(j-1)Thenk=a(j):a(j)=a(j-1):a(j-1)=kEndIfNextjs=s+str(a(i))NextiText1.Text=str(s)有如下VB程序段:數(shù)組元素從a(1)到a(6)的數(shù)據(jù)依次為“3、7、2、5、8、9”,經(jīng)過(guò)該程序“加工”后,文本框Text1中顯示的是 (
)A.987B.235C.372D.732B數(shù)組元素從a(1)到a(6)的數(shù)據(jù)依次為“3、7、2、5、8有一組原始數(shù)據(jù):13、15、8、65、14、33。若采用冒泡法進(jìn)行排序,則共需比較的次數(shù)為 (
) A.21 B.15 C.10 D.28B有一組原始數(shù)據(jù):13、15、8、65、14、33。若采用冒泡設(shè)計(jì)一個(gè)VB程序,點(diǎn)擊“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕,程序自動(dòng)在列表框List1中產(chǎn)生15個(gè)1000以內(nèi)的隨機(jī)非負(fù)數(shù),點(diǎn)擊“冒泡排序”按鈕,對(duì)這些數(shù)據(jù)按冒泡算法進(jìn)行從大到小排序。程序運(yùn)行時(shí)界面如圖9-1所示:圖9-1設(shè)計(jì)一個(gè)VB程序,點(diǎn)擊“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕,程序自動(dòng)在(1)(1)設(shè)計(jì)應(yīng)用程序界面時(shí),為添加“冒泡排序”按鈕,應(yīng)使用如圖9-2所示的“控件工具箱”中的________(填寫(xiě)相應(yīng)編號(hào)),并在圖9-3所示的“屬性”窗口中,將__________屬性值設(shè)置為“冒泡排序”。4Caption圖9-2圖9-3(1)(1)設(shè)計(jì)應(yīng)用程序界面時(shí),為添加“冒泡排序”按鈕,應(yīng)使(2)從左至右的兩個(gè)列表框的名稱分別是List1和List2,“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕的名稱是Command1,“冒泡排序”按鈕的名稱是Command2。請(qǐng)根據(jù)題意將下列程序補(bǔ)充完整。Dima(1To15)AsIntegerDimnAsInteger
PrivateSubCommand1_Click()n=15RandomizeList1.ClearList2.ClearFori=1To15①List1.AddItemStr(i)&“:”
&Str(a(i))NextiEndSub(2)從左至右的兩個(gè)列表框的名稱分別是List1和List2PrivateSubCommand2_Click()DimtAsIntegerList2.ClearFori=1Ton-1Forj=nToi+1Step-1If②Thent=a(j):a(j)=a(j-1):a(j-1)=tEndIfNextjNextiFori=1TonList2.AddItemStr(i)&“:”
&Str(a(i))NextiEndSub(1)程序中①劃線處應(yīng)填入___________________。(2)程序中②劃線處應(yīng)填入___________________。注:該示例程序在素材文件夾下vb23文件夾中。a(i)=Int(Rnd()*1001)a(j)>a(j-1)PrivateSubCommand2_Click()(1新學(xué)年開(kāi)學(xué)安排坐位,需要先根據(jù)學(xué)生身高排好隊(duì)。以下VB程序?yàn)榕抨?duì)程序,其中變量s為學(xué)生總數(shù),數(shù)組n存儲(chǔ)學(xué)生姓名,數(shù)組h存儲(chǔ)學(xué)生身高(單位:厘米)。程序界面如下圖所示。程序運(yùn)行時(shí),自動(dòng)加載學(xué)生姓名與身高數(shù)據(jù),點(diǎn)擊“排隊(duì)”按鈕,按學(xué)生身高從低到高進(jìn)行排序。新學(xué)年開(kāi)學(xué)安排坐位,需要先根據(jù)學(xué)生身高排好隊(duì)。以下VB程序?yàn)閷?shí)現(xiàn)該功能的程序代碼如下:Dimn(1To60)AsStringDimh(1To60)AsIntegerConsts=60
PrivateSubCommand1_Click()DimiAsInteger,jAsIntegerDimtAsIntegerDimkAs①List1.ClearFori=1Tos-1Forj=i+1TosIf②Thent=h(i):h(i)=h(j):h(j)=t③EndIfNextjNextiFori=1TosList1.AddItemn(i)&“:”&Str(h(i))NextiEndSubPrivateSubForm_Load()'學(xué)生姓名數(shù)據(jù)n賦值語(yǔ)句,此處省略'學(xué)生身高數(shù)據(jù)h賦值語(yǔ)句,此處省略Fori=1TosList1.AddItemn(i)&“:”
&Str(h(i))
'在列表框顯示學(xué)生姓名與身高原始數(shù)據(jù)NextiEndSub為使程序完整,請(qǐng)?jiān)趧澗€處填上合適的語(yǔ)句。(1)劃線①處應(yīng)填入______________________。(2)劃線②處應(yīng)填入______________________。(3)劃線③處應(yīng)填入______________________。Stringh(i)>h(j)k=n(i):n(i)=n(j):n(j)=k實(shí)現(xiàn)該功能的程序代碼如下:PrivateSubForm_葉錦平和同學(xué)們?nèi)マr(nóng)科院開(kāi)展研究性學(xué)習(xí),大家都收獲很大,錦平設(shè)計(jì)了一個(gè)VB程序,他把同學(xué)們收集到的水稻畝產(chǎn)量和同學(xué)姓名已分別保存在數(shù)組a和數(shù)組b中,第i個(gè)同學(xué)收集的畝產(chǎn)量保存在a(i)中,對(duì)應(yīng)的同學(xué)姓名保存在b(i)中,最后按畝產(chǎn)量從高到低進(jìn)行排序。
程序界面如圖所示,左邊列表框List1中顯示的是所有同學(xué)收集到的原始數(shù)據(jù),單擊”排序”按鈕(Command1)后,在右邊的列表框List2中顯示排序完成后的結(jié)果(按畝產(chǎn)量從高到低排列)。葉錦平和同學(xué)們?nèi)マr(nóng)科院開(kāi)展研究性學(xué)習(xí),大家都收獲很大,錦平設(shè)解決此問(wèn)題的算法流程圖如圖所示,相應(yīng)的排序部分程序如下:Dima(1Ton)AsSingleDimb(1Ton)AsStringPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,cAsSingle,tAsStringList2.ClearFori=1Ton–1
'設(shè)共有n名同學(xué)Forj=①If②Thenc=a(j-1)a(j-1)=a(j)a(j)=ct=b(j-1)b(j-1)=b(j)b(j)=tEndIfNextjNextiFori=1TonList2.AddItemStr(a(i))+“”+b(i)NextiEndSubPrivateSubForm_Load()'此過(guò)程用于對(duì)數(shù)組a和數(shù)組b進(jìn)行初始賦值,代碼略List1.AddItemStr(a(i))+“”+b(i)
'在列表框List1中顯示原始數(shù)據(jù)EndSub(1)解決此問(wèn)題的算法是___________________。在程序①和②劃線處填入適當(dāng)?shù)恼Z(yǔ)句或表達(dá)式,將程序補(bǔ)充完整:(2)程序中①劃線處應(yīng)填入_________________。(3)程序中②劃線處應(yīng)填入_________________。注:該示例程序在素材文件夾下vb25文件夾中。冒泡排序算法ntoi+1Step-1a(j)>a(j-1)解決此問(wèn)題的算法流程圖如圖所示,相應(yīng)的排序部分程序如下:(1選擇排序選擇排序(遞增)的方法是找出數(shù)組元素中最小的數(shù)據(jù),使它與第一個(gè)元素中的數(shù)據(jù)交換位置在余下的元素中繼續(xù)找最小的元素,與第二個(gè)元素中的數(shù)據(jù)交換位置
……
選擇排序選擇排序(遞增)的方法是算法演示第1
遍選擇27363218d(1)d(2)d(3)d(4)j=2Min=1
27363218j=3Min=1
27363218j=4Min=j
18363227Min=1Forj=2to4
ifd(min)>d(j)thenmin=jNextj如果最小的數(shù)所在的位置不是1,則交換d(min)和d(1)的位置
如果找到更小的,用min記住它的編號(hào)
算法演示第1遍選擇27363218d(1)d(2分析第1遍選擇,j從2開(kāi)始到4Min=1Forj=2to4ifd(min)>d(j)thenmin=jNextjIfmin<>1,交換d(1)和d(min)Min=2Forj=3to4ifd(min)>d(j)thenmin=jNextjIfmin<>2then交換d(2)和d(min)第2遍選擇,j從3開(kāi)始到4第3遍選擇,j從4開(kāi)始到4Min=3Forj=4to4ifd(min)>d(j)thenmin=jNextjIfmin<>3then交換d(3)和d(min)用i來(lái)表示次數(shù)的變化分析第1遍選擇,j從2開(kāi)始到4Min=1Min=2第2遍選程序?qū)崿F(xiàn)Fori=1Tonum-1‘n個(gè)數(shù),排序n-1次
Min=i
Forj=i+1Tonum'如果找到更小的,用min記住它的編號(hào)
Ifd(Min)>d(j)ThenMin=j
Nextj
IfMin<>iThen'如果最小的數(shù)所在的位置不是i,則交換
k=d(i):d(i)=d(Min):d(Min)=k
EndIfNexti數(shù)組元素的個(gè)數(shù)程序?qū)崿F(xiàn)Fori=1Tonum-1PrivateSubCommand1_Click()'對(duì)8個(gè)數(shù)進(jìn)行選擇法排序List2.Clear'將排序后的列表數(shù)據(jù)清空Fori=1To7'n個(gè)數(shù),排序n-1次
Min=i
Forj=i+1To8'如果找到更小的,用min記住它的編號(hào)
Ifd(Min)>d(j)ThenMin=j
Nextj
IfMin<>iThen'如果最小的數(shù)所在的位置不是i,則交換
k=d(i)
d(i)=d(Min)
d(Min)=k
EndIfNexti
Fori=1To8List2.AddItemStr(d(i))'在列表2中顯示排序后的數(shù)據(jù)NextiEndSub選擇法排序PrivateSubCommand1_Click()用選擇排序算法對(duì)一組學(xué)生的身高數(shù)據(jù)進(jìn)行升序排序,已知第一遍排序結(jié)束后的數(shù)據(jù)序列為166、169、177、175、172,則下列選項(xiàng)中可能是原始數(shù)據(jù)序列的是(
)A.175、177、169、166、172B.177、169、166、175、172C.166、177、169、175、172D.166、169、172、175、177B用選擇排序算法對(duì)一組學(xué)生的身高數(shù)據(jù)進(jìn)行升序排序,已知第一遍排2.有6位裁判為運(yùn)動(dòng)員評(píng)分,給出的分?jǐn)?shù)分別為48、45、63、46、59、57。采用選擇排序算法對(duì)其進(jìn)行排序,若完成第一遍時(shí)的結(jié)果為:63、45、48、46、59、57,則完成第二遍時(shí)的結(jié)果是 (
)A.63、45、48、46、59、57B.63、59、57、48、45、46C.63、59、57、46、45、48D.63、59、48、46、45、57D2.有6位裁判為運(yùn)動(dòng)員評(píng)分,給出的分?jǐn)?shù)分別為48、45、633.某校通過(guò)政府招投標(biāo)中心采購(gòu)一套多媒體教學(xué)設(shè)備,有5家單位參加競(jìng)標(biāo),競(jìng)標(biāo)價(jià)分別為18萬(wàn)、17萬(wàn)、23萬(wàn)、15萬(wàn)、16萬(wàn)元人民幣。若采用選擇排序算法對(duì)標(biāo)價(jià)從大到小排序,需要進(jìn)行數(shù)據(jù)互換的次數(shù)是 (
)A.1 B.3 C.4 D.5B3.某校通過(guò)政府招投標(biāo)中心采購(gòu)一套多媒體教學(xué)設(shè)備,有5家單位4.圣誕節(jié)即將來(lái)臨,某商場(chǎng)欲對(duì)倉(cāng)庫(kù)某貨號(hào)商品進(jìn)行補(bǔ)倉(cāng)以應(yīng)對(duì)即將舉辦的促銷活動(dòng)。6家供貨商給出的報(bào)價(jià)分別為48、43、60、46、58、55,若采用選擇排序算法對(duì)其進(jìn)行從大到小排序,則第三遍的排序結(jié)果是 (
)CA.60、58、48、46、43、55 B.60、43、48、46、58、55C.60、58、55、46、43、48 D.60、58、55、48、46、434.圣誕節(jié)即將來(lái)臨,某商場(chǎng)欲對(duì)倉(cāng)庫(kù)某貨號(hào)商品進(jìn)行補(bǔ)倉(cāng)以應(yīng)對(duì)即已知算法1與算法2都是排序算法,可能是冒泡排序或者選擇排序,下面的表格反應(yīng)的是在不同量的數(shù)據(jù)下,排序時(shí)進(jìn)行數(shù)據(jù)交換的次數(shù),分析算法1與算法2最有可能的排序算法分別是 (
)CA.冒泡排序冒泡排序 B.選擇排序選擇排序C.冒泡排序選擇排序 D.選擇排序冒泡排序已知算法1與算法2都是排序算法,可能是冒泡排序或者選擇排序,下列關(guān)于排序的說(shuō)法,錯(cuò)誤的是 (
)A.相對(duì)而言,選擇排序算法的效率比冒泡排序算法高B.冒泡排序算法和選擇排序算法的都需要用到雙循環(huán)結(jié)構(gòu)C.對(duì)于n個(gè)無(wú)序數(shù)據(jù),不管是冒泡排序還是選擇排序,都要經(jīng)過(guò)n-1遍加工D.冒泡排序算法的程序?qū)崿F(xiàn)一般要用到數(shù)組變量k,而選擇排序則不需要C下列關(guān)于排序的說(shuō)法,錯(cuò)誤的是 ()C小明編寫(xiě)了一個(gè)統(tǒng)計(jì)數(shù)組元素a(l)到a(n)中的“升序段”個(gè)數(shù)s(如圖所示的數(shù)據(jù)序列,其“升序段”的個(gè)數(shù)等于3)的VB程序。部分程序代碼如下:k=0s=0Fori=2TonIfa(i)>a(i-1)Then
Elsek=0EndIfIfk=1Thens=s+1NextiTextl.Text=Str(s)方框中的正確語(yǔ)句是 (
)A.k=k-1 B.K=1 C.K=-1 D.K=k+1D小明編寫(xiě)了一個(gè)統(tǒng)計(jì)數(shù)組元素a(l)到a(n)中的“升序段”個(gè)…Fori=1Ton-1
k=iForj=i+1TonIfd(j)<d(k)Thenk=j(luò)Nextj
Ifi<>kThent=d(i):d(i)=d(k):d(k)=t
EndIfNexti…D8.下列VB程序段是選擇法排序程序的主要部分。其中虛線框內(nèi)代碼用于尋找數(shù)組元素d(i)到d(n)的最小值。虛虛線框內(nèi)代碼運(yùn)行結(jié)束時(shí),保存最小值的數(shù)組元素一定是(
)A.d(n) B.d(j)C.d(i) D.d(k)D…D8.下列VB程序段是選擇法排序程序的主要部分。其中虛線框有如下VB程序,運(yùn)行時(shí),點(diǎn)擊“隨機(jī)產(chǎn)生15個(gè)整數(shù)”按鈕將隨機(jī)產(chǎn)生15個(gè)1000以內(nèi)的隨機(jī)非負(fù)整數(shù),如下圖所示,PrivateSubCommand2_Click()Fori=1Ton-1k=iForj=i+1Ton
Ifa(j)<a(k)Thenk=j(luò)NextjIfi<>kThen
t=a(i):a(i)=a(k):a(k)=tEndIfNextiFori=1Ton
List2.AddItemStr(i)&“:”&Str(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 臍橙種植合同協(xié)議書(shū)范本
- 體育場(chǎng)塑膠跑道材料的選擇
- 河北承德市雙灤區(qū)圣泉高級(jí)中學(xué)2024-2025學(xué)年高二下學(xué)期4月份月考數(shù)學(xué)試卷(解析)
- 2025年冷氣(N2)推進(jìn)系統(tǒng)合作協(xié)議書(shū)
- 2025年橡膠零件、附件項(xiàng)目建議書(shū)
- 護(hù)理各項(xiàng)小治療操作規(guī)范
- 商業(yè)空間高端定制化精裝修設(shè)計(jì)與施工合同
- 無(wú)人機(jī)土方測(cè)量與施工圖預(yù)算編制合作協(xié)議
- 金融創(chuàng)新企業(yè)股權(quán)分紅激勵(lì)與風(fēng)險(xiǎn)控制協(xié)議
- 美妝專區(qū)品牌合作經(jīng)營(yíng)與區(qū)域市場(chǎng)拓展合同
- 小區(qū)安全排查
- 中國(guó)典籍英譯概述課件
- 【MOOC】保險(xiǎn)學(xué)概論-中央財(cái)經(jīng)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 【MOOC】航空發(fā)動(dòng)機(jī)結(jié)構(gòu)分析與設(shè)計(jì)-南京航空航天大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 紅旅賽道未來(lái)規(guī)劃
- GIS安裝標(biāo)準(zhǔn)化作業(yè)指導(dǎo)書(shū)
- 帶電作業(yè)施工方案
- 宏定義與跨平臺(tái)開(kāi)發(fā)
- 腰椎病護(hù)理措施
- 社保費(fèi)扣費(fèi)協(xié)議書(shū)范文范本下載
- 2024年全國(guó)寄生蟲(chóng)病防治技能競(jìng)賽備賽試題庫(kù)-上(血吸蟲(chóng)病、瘧疾)
評(píng)論
0/150
提交評(píng)論