有一個包含10個正整數(shù)的數(shù)組,要求對其按升序排序。該排序算法是對直接插入排序進行優(yōu)化,具體的算法思想是:第一步,選擇一個元素選擇步長將數(shù)組劃分為若干小組,對各個小組分別進行排序;第二步,不斷將步長縮小,不斷分組和排序,直到后的步長為1,對所有的元素進行排序,此時,經(jīng)過前期的排序工作,能夠減少全體元素插入排序的對比次數(shù)。如數(shù)據(jù){7,6,3,2,9,1,8,1,5,0}。
第一輪分組排序:
步長gap=5,所以將數(shù)組分為5組:{7,1},{6,8},{3,1},{2,5},{9,0}分別進行直接插入排序,得
到{1,7},{6,8},(1,3},{2,5},{0,9}。
數(shù)組整體變?yōu)閧1,6,1,2,0,7,8,3,5,9}
第二輪分組排序:
步長gap=2,所以將數(shù)組分為2組:{1,1,0,8,5},{6,2,7,3,9};經(jīng)過分別的插入排序得到:
{0,1,1,5,8},{2,3,6,7,9}.?dāng)?shù)組整體變成{0,2,1,3,1,6,5,7,8,9}
第三輪分組排序:
步長gap=1,所以就是對整個數(shù)組進行直接插入排序了。{0,1,1,2,3,5,6,7,8,9}
實現(xiàn)上述功能的VB代碼如下,但加框出有錯誤,請改正。
【考點】編輯事件處理過程的代碼.
【答案】見試題解答內(nèi)容
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:4引用:1難度:0.4
相似題
-
1.學(xué)校舉辦了“語文作文現(xiàn)場賽”,參賽同學(xué)成績存儲在文本文件“gra.jye.ai”中,如左圖所示(每一行記錄一位同學(xué)的姓名和成績,以“:”分隔)。陳老師利用Python程序?qū)ψ魑某煽冞M行處理,統(tǒng)計出各個分?jǐn)?shù)等級的人數(shù),并輸出結(jié)果。程序運行界面如右圖所示。
實現(xiàn)上述功能的Python程序如下,請在劃線處填入合適的代碼。發(fā)布:2024/12/17 2:0:1組卷:6引用:2難度:0.3 -
2.有如下Python程序段:
執(zhí)行該程序段,輸入字符串“abcdefg”,則輸出的結(jié)果是( ?。?/h2>發(fā)布:2024/12/20 6:30:1組卷:2引用:3難度:0.4 -
3.試題描述的內(nèi)容:
一個單窗體VB程序的運行界面如圖所示。下列說法正確的是( ?。?br />(1)窗體內(nèi)有1個按鈕
(2)窗體內(nèi)有2個文本框
(3)窗體內(nèi)有3個標(biāo)簽
(4)該窗體的標(biāo)題(Caption)屬性值是“加法計算器”發(fā)布:2024/12/20 20:0:2組卷:1引用:1難度:0.6
把好題分享給你的好友吧~~