《冒泡排序算法.ppt》由会员分享,可在线阅读,更多相关《冒泡排序算法.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、排序算法的分析及实现冒泡排序和选择排序排序的意义n排序是为了将一组杂乱的数据变成一组有序的数据。(递增或递减)理解:冒泡排序是在一列数据中把较小的数据逐次理解:冒泡排序是在一列数据中把较小的数据逐次向上推移的一种排序技术。向上推移的一种排序技术。冒泡排序冒泡排序数组n为了存储一组数据,我们需要用到数组变量n例如 dim d(1 to 1000) as integer定义了一个数组变量d, 下标从1到1000d(1) d(2) d(3) d(4) d(1000)27363218冒泡排序n用数组来存储一系列同类型的数据用数组来存储一系列同类型的数据, 然后调整数组中的元然后调整数组中的元素素n 例
2、如例如: dim d(1 to 4) as integer 定义一个数组变量定义一个数组变量d27363218d (1) d (2) d (3) d (4) jj-127361832jj-127183632jj-118273632第1次冒泡排序时 j 从 4 开始到2算法分析第1次冒泡排序时 j 从 4 开始到2For j=4 to 2 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值第2次冒泡排序时 j 从 4 开始到3For j=4 to 3 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值第3次冒泡排序时 j 从
3、 4 开始到4For j=4 to 4 step -1 if d(j)d(j-1) then 交换d(j) 和d(j-1)的值以i表示次数n当i 从1到3 变化时n 每次 j 从4 到i+1 时 n d(j)比比d(j-1)小小,则交换它们则交换它们程序代码:程序代码:For i = 1 To n - 1 For j = n To i + 1 Step -1 If d(j) i?d(j)=i+1冒泡排序算法冒泡排序算法 nPrivate Sub Command1_Click() 对8个数进行冒泡法排序n List2.Clear 将排序后的列表数据清空n For i = 1 To 7n For
4、j = 8 To i + 1 Step -1n If d(j) d(j - 1) Thenn k = d(j): d(j) = d(j - 1): d(j - 1) = kn End Ifn Next jn Next i n For i = 1 To 8n List2.AddItem Str(d(i) 在列表2中显示排序后的数据n Next inEnd Sub1. 某书店在某书店在5所学校流动售书量所学校流动售书量(单位:本单位:本)分别是分别是82、113、46、69、35。采用冒泡排序对其进行排序,若。采用冒泡排序对其进行排序,若完成第一遍时的结果是完成第一遍时的结果是35、82、113、
5、46、69,则完,则完成第二遍时的结果是成第二遍时的结果是()A35、82、113、46、69 B35、46、82、69、113C35、46、82、113、69 D35、46、69、82、113C C 2下表记录了下表记录了6个数据的排序过程。分析表中数据可知,个数据的排序过程。分析表中数据可知,该排序采用的算法与排序方式分别为该排序采用的算法与排序方式分别为 ()原始数据原始数据635759424571第第1遍遍426357594571第第2遍遍424563575971第第3遍遍424557635971A. 冒泡排序,降序冒泡排序,降序B. 选择排序,降序选择排序,降序C. 冒泡排序,升序冒
6、泡排序,升序D. 选择排序,升序选择排序,升序C C 3实现某排序算法的部分实现某排序算法的部分VB程序如下:程序如下:For i 1 To 4 For j 5 To i 1 Step 1 If a(j)a(j1) Then ta(j):a(j)a(j1):a(j1)t Next jNext i在经过某一遍排序在经过某一遍排序“加工加工”后,数组元素后,数组元素a(l)到到a(5)的数据依的数据依次为次为“25、77、51、59、32”。则。则 下一遍排序下一遍排序“加工加工”后数组后数组元素元素a(l)到到a(5)的数据应该是的数据应该是 ()A25、32、77、51、59 B25、32、5
7、1、59、77C25、32、59、51、77 D25、32、51、7、59A A 4有一组原始数据:有一组原始数据:23、25、18、63、84、77、65、9、33、17。利用冒泡排序算法进行从小到大排序,最多需。利用冒泡排序算法进行从小到大排序,最多需要进行要进行()次加工,才可以完成整个数据的排序。次加工,才可以完成整个数据的排序。A5B6C8D9D D 5. 书籍将数据书籍将数据3、6、9、5、8、1进行一趟冒泡排序进行一趟冒泡排序后得到的数据刚好是小杨的银行卡密码,那么小后得到的数据刚好是小杨的银行卡密码,那么小杨的银行卡密码是杨的银行卡密码是()A369581B136958C135
8、698D316958B B 6. 在某年市机器人投蓝比赛决赛中,共有在某年市机器人投蓝比赛决赛中,共有5支队伍参支队伍参加,各队的最终成绩如下:加,各队的最终成绩如下:82、74、66、95、70(单位:个单位:个/分钟分钟),现用冒泡排序算法来实现这,现用冒泡排序算法来实现这些数据的排序操作:些数据的排序操作:原始数据原始数据8274669570第第1遍遍6682747095第第2遍遍第第3遍遍6670748295第第4遍遍6670748295则在第则在第2遍加工的操作中,共需要交换数据的次数遍加工的操作中,共需要交换数据的次数是是()A. 1次次B. 2次次C. 3次次D. 4次次B B
9、7. 有如下有如下VB程序段:程序段:s“ ”For i 1 To 3 For j 6 To i 1 Step 1 If a(j)a(j-1)10. 新学年开学安排坐位,需要先根据学生身高排好队。以新学年开学安排坐位,需要先根据学生身高排好队。以下下VB程序为排队程序,其中变量程序为排队程序,其中变量s为学生总数,数组为学生总数,数组n存储学生姓名,数组存储学生姓名,数组h存储学生身高存储学生身高(单位:厘米单位:厘米)。程。程序界面如下图所示。程序运行时,自动加载学生姓名与序界面如下图所示。程序运行时,自动加载学生姓名与身高数据,点击身高数据,点击“排队排队”按钮,按学生身高从低到高进按钮,
10、按学生身高从低到高进行排序。行排序。实现该功能的程序代码如下:实现该功能的程序代码如下:Dim n(1 To 60) As StringDim h(1 To 60) As IntegerConst s 60 Private Sub Command1_Click()Dim i As Integer, j As IntegerDim t As IntegerDim k As List1.ClearFor i 1 To s 1For j i 1 To sIf Thent h(i): h(i) h(j): h(j) tEnd IfNext jNext iFor i 1 To sList1.AddIte
11、m n(i) & “:” & Str(h(i)Next iEnd SubPrivate Sub Form_Load() 学生姓名数据学生姓名数据n赋值语句,此处省略赋值语句,此处省略 学生身高数据学生身高数据h赋值语句,此处省略赋值语句,此处省略 For i 1 To s List1.AddItem n(i) & “:” & Str(h(i)在在列表框显示学生姓名与身高原始数据列表框显示学生姓名与身高原始数据Next iEnd Sub为使程序完整,请在划线处填上合适的语句。为使程序完整,请在划线处填上合适的语句。(1)划线处应填入划线处应填入_。(2)划线处应填入划线处应填入_。(3)划线处应
12、填入划线处应填入_。Stringh(i)h(j)k=n(i):n(i)=n(j):n(j)=k11. 叶锦平和同学们去农科院开展研究性学习,大家都收获叶锦平和同学们去农科院开展研究性学习,大家都收获很大,锦平设计了一个很大,锦平设计了一个VB程序,他把同学们收集到的程序,他把同学们收集到的水稻亩产量和同学姓名已分别保存在数组水稻亩产量和同学姓名已分别保存在数组a和数组和数组b中,中,第第i个同学收集的亩产量保存在个同学收集的亩产量保存在a(i)中,对应的同学姓名中,对应的同学姓名保存在保存在b(i)中,最后按亩产量从高到低进行排序。中,最后按亩产量从高到低进行排序。程序界面如图所示,左边列表框
13、程序界面如图所示,左边列表框List1中显示的是所有同中显示的是所有同学收集到的原始数据,单击学收集到的原始数据,单击”排序排序”按钮按钮(Command1)后,在右边的列表框后,在右边的列表框List2中显示排序完成后的结果中显示排序完成后的结果(按按亩产量从高到低排列亩产量从高到低排列)。解决此问题的算法流程图如图所示,相应的排序部分程序如下:解决此问题的算法流程图如图所示,相应的排序部分程序如下:Dim a(1 To n) As SingleDim b(1 To n) As StringPrivate Sub Command1_Click()Dim i As Integer, j As
14、Integer, c As Single, t As String List2.ClearFor i 1 To n 1 设共有设共有n名同学名同学For j If Thenc a(j 1)a(j 1) a(j)a(j) ct b(j 1)b(j 1) b(j)b(j) tEnd IfNext jNext iFor i 1 To nList2.AddItem Str(a(i) “ ” b(i)Next iEnd SubPrivate Sub Form_Load() 此过程用于对数组此过程用于对数组a和数组和数组b进行初始赋值,代码略进行初始赋值,代码略List1.AddItem Str(a(i)
15、 “ ” b(i)在列表框在列表框List1中显示原始数据中显示原始数据End Sub(1)解决此问题的算法是解决此问题的算法是_。在程序在程序和和划线处填入适当的语句或表达式,划线处填入适当的语句或表达式,将程序补充完整:将程序补充完整:(2)程序中程序中划线处应填入划线处应填入_。 (3)程序中程序中划线处应填入划线处应填入_。注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb25文件夹中。文件夹中。冒泡排序算法冒泡排序算法n to i+1 Step -1a(j)a(j-1)选择排序n选择排序(递增)的方法是 找出数组元素中最小的数据,使它与第一个元素中的数据交换位置 在余下的元
16、素中继续找最小的元素,与第二个元素中的数据交换位置 算法演示n第 1 遍 选择27363218d (1) d (2) d (3) d (4) j=2Min=1 27363218j=3Min=1 27363218j=4Min=j 18363227Min=1For j=2 to 4 if d(min)d(j) then min=jNext j如果最小的数所在的位置不是如果最小的数所在的位置不是1,则交换则交换d(min)和和d(1)的位置的位置 如果找到更小的,用如果找到更小的,用min记住它的编号记住它的编号 分析n第1遍选择 ,j从2开始到4Min=1For j=2 to 4 if d(min
17、)d(j) then min=jNext jIf min1,交换d(1)和d(min)Min=2For j=3 to 4 if d(min)d(j) then min=jNext jIf min2 then 交换d(2)和d(min)n第2遍选择 ,j从3开始到4n第3遍选择 ,j从4开始到4Min=3For j=4 to 4 if d(min)d(j) then min=jNext jIf min3 then 交换d(3)和d(min)用i来表示次数的变化程序实现For i = 1 To num - 1 n个数,排序n-1次 Min = i For j = i + 1 To num 如果找到
18、更小的,用min记住它的编号 If d(Min) d(j) Then Min = j Next j If Min i Then 如果最小的数所在的位置不是i,则交换 k = d(i) : d(i) = d(Min) : d(Min) = k End IfNext i数组元素的个数nPrivate Sub Command1_Click() 对8个数进行选择法排序 nList2.Clear 将排序后的列表数据清空nFor i = 1 To 7 n个数,排序n-1次 n Min = in For j = i + 1 To 8 如果找到更小的,用min记住它的编号n If d(Min) d(j) Th
19、en Min = jn Next j n If Min i Then 如果最小的数所在的位置不是i,则交换n k = d(i)n d(i) = d(Min)n d(Min) = kn End IfnNext i nFor i = 1 To 8n List2.AddItem Str(d(i) 在列表2中显示排序后的数据nNext inEnd Sub选择法排序1. 用选择排序算法对一组学生的身高数据进行升序排序,已用选择排序算法对一组学生的身高数据进行升序排序,已知第一遍排序结束后的数据序列为知第一遍排序结束后的数据序列为166、169、177、175、172,则下列选项中可能是原始数据序列的是,
20、则下列选项中可能是原始数据序列的是 ()A175、177、169、166、172 B177、169、166、175、172C166、177、169、175、172 D166、169、172、175、177B B 2有有6位裁判为运动员评分,给出的分数分别为位裁判为运动员评分,给出的分数分别为48、45、63、46、59、57。采用选择排序算法对其进行排序,若。采用选择排序算法对其进行排序,若完成第一遍时的结果为:完成第一遍时的结果为:63、45、48、46、59、57,则,则完成第二遍时的结果是完成第二遍时的结果是 ()A63、45、48、46、59、57 B63、59、57、48、45、46
21、C63、59、57、46、45、48 D63、59、48、46、45、57 D D3某校通过政府招投标中心采购一套多媒体教学设备,有某校通过政府招投标中心采购一套多媒体教学设备,有5家单家单位参加竞标,竞标价分别为位参加竞标,竞标价分别为18万、万、17万、万、23万、万、15万、万、16万万元人民币。若采用选择排序算法对标价从大到小排序,需要元人民币。若采用选择排序算法对标价从大到小排序,需要进行数据互换的次数是进行数据互换的次数是 ()A1 B3C4 D5B B 4圣诞节即将来临,某商场欲对仓库某货号商品进行圣诞节即将来临,某商场欲对仓库某货号商品进行补仓以应对即将举办的促销活动。补仓以应
22、对即将举办的促销活动。6家供货商给出的家供货商给出的报价分别为报价分别为48、43、60、46、58、55,若采用选择,若采用选择排序算法对其进行从大到小排序,则第三遍的排序排序算法对其进行从大到小排序,则第三遍的排序结果是结果是()C C 原始数据原始数据484360465855第第1遍遍604348465855第第2遍遍605848464355第第3遍遍第第4遍遍605855484346第第5遍遍605855484643A.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、435. 已知算法已
23、知算法1与算法与算法2都是排序算法,可能是冒泡排序或者选择排都是排序算法,可能是冒泡排序或者选择排序,下面的表格反应的是在不同量的数据下,排序时进行数据序,下面的表格反应的是在不同量的数据下,排序时进行数据交换的次数,分析算法交换的次数,分析算法1与算法与算法2最有可能的排序算法分别是最有可能的排序算法分别是 ()C C 排序的数据个数排序的数据个数算法算法1的交换次数的交换次数算法算法2的交换次数的交换次数57311418228313537485284182171105291094A.冒泡排序冒泡排序冒泡排序冒泡排序 B选择排序选择排序选择排序选择排序C冒泡排序选择排序冒泡排序选择排序 D选
24、择排序冒泡排序选择排序冒泡排序6.6. 下列关于排序的说法,错误的是下列关于排序的说法,错误的是 ( () )A A相对而言,选择排序算法的效率比冒泡排序算法高相对而言,选择排序算法的效率比冒泡排序算法高B B冒泡排序算法和选择排序算法的都需要用到双循环结构冒泡排序算法和选择排序算法的都需要用到双循环结构C C对于对于n n个无序数据,不管是冒泡排序还是选择排序,都要个无序数据,不管是冒泡排序还是选择排序,都要经过经过n n1 1遍加工遍加工D D冒泡排序算法的程序实现一般要用到数组变量冒泡排序算法的程序实现一般要用到数组变量k k,而选择,而选择排序则不需要排序则不需要C C 7.7. 小明
25、编写了一个统计数组元素小明编写了一个统计数组元素a(l)a(l)到到a(n)a(n)中的中的“升序段升序段”个个数数s(s(如图所示的数据序列,其如图所示的数据序列,其 “ “升序段升序段”的个数等于的个数等于3)3)的的VBVB程序。程序。部分程序代码如下:部分程序代码如下:k k 0 0 s s 0 0For i For i 2 To n2 To n If a(i) a(i If a(i) a(i 1) Then1) Then Else Else k k 0 0 End If End If If k If k 1 Then s 1 Then s s s 1 1 Next iNext iTe
26、xtl.Text Textl.Text Str(s) Str(s) 方框中的正确语句是方框中的正确语句是( () )A Ak kk k1 1B BK K1 1C CK K1 1D DK Kk k1 1D D For i 1 To n 1k i For j i 1 To n If d(j) d(k) Then k j Next jIf i k Then t d(i) : d(i) d(k) : d(k) tEnd IfNext iD8下列下列VB程序段是选择法排序程序的主要部分。其中虚程序段是选择法排序程序的主要部分。其中虚线框内代码用于寻找数组元素线框内代码用于寻找数组元素d(i)到到d(n)
27、的最小值。的最小值。虚虚线框内代码运行结束时,保虚虚线框内代码运行结束时,保存最小值的数组元素一定是存最小值的数组元素一定是()Ad(n)Bd(j)Cd(i)Dd(k)D9. 有如下有如下VB程序,运行时,点击程序,运行时,点击“随机产生随机产生15个整数个整数”按钮按钮将随机产生将随机产生15个个1000以内的随机非负整数,如下图所示,以内的随机非负整数,如下图所示,Private Sub Command2_Click() For i 1 To n 1 k i For j i 1 To n If a(j) a(k) Then k j Next j If i k Then t a(i): a(
28、i) a(k): a(k) t End If Next i For i 1 To n List2.AddItem Str(i) & “:” & Str(a(i) Next iEnd Sub注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb26文件夹中。文件夹中。点击点击“选择排序选择排序”时,输出的数据结果在屏幕上从上到下的时,输出的数据结果在屏幕上从上到下的显示顺序为显示顺序为_(选填从大到小选填从大到小/从小到大从小到大)。若要使它以。若要使它以相反的顺序显示,那么方框内的语句应修改为相反的顺序显示,那么方框内的语句应修改为_。从小到大从小到大a(j)a(k)102010年冬奥会
29、开幕式中各代表团的入场顺序是:希腊排在第一位,东道主加年冬奥会开幕式中各代表团的入场顺序是:希腊排在第一位,东道主加拿大排在最后一位,其余拿大排在最后一位,其余80个代表团入场顺序按国家或地区名称依次排列。个代表团入场顺序按国家或地区名称依次排列。下列下列VB程序实现如下功能:单击命令按钮程序实现如下功能:单击命令按钮Command1后,在列表框后,在列表框List1中中按入场顺序显示所有代表团的名称。请回答下列问题:按入场顺序显示所有代表团的名称。请回答下列问题:(1)虚线框内程序段所用的排序算法虚线框内程序段所用的排序算法的名称是的名称是_。在划线出填入合适的代码。在划线出填入合适的代码。
30、 Dim a(0 To 81) As String Dim n As Integer Private Sub Form_Load()用于将用于将82个参赛代表团名称放入数组个参赛代表团名称放入数组a中中n 80a(0) “Greece”a(n 1) “Canada”另外另外80个代表团名称放在个代表团名称放在a(1)至至a(80)中,代码略中,代码略End SubPrivate Sub Command1_Click() Dim s As Dim i As Integer, j As Integer, k As Integer For i=1 To n-1 k=i For j=i+1 To n
31、If a(j) a(k) Then k=j Next j s=a(i):a(i)=a(k):a(k)=s Next i List1.Clear For i 0 To List1.AddItem a(i) Next iEnd Sub选择排序算法选择排序算法String81 (3)程序中划线处应填入程序中划线处应填入_。(2)程序中划线处应填入程序中划线处应填入_。 11某俱乐部举行射击比赛,最后有十人进入决某俱乐部举行射击比赛,最后有十人进入决赛,录入员编制了如下赛,录入员编制了如下VB程序,功能是根据成绩程序,功能是根据成绩进行排序,程序中数组进行排序,程序中数组a保存所有参赛者的姓名,保存所
32、有参赛者的姓名,数组数组b保存此成绩对应的成绩,第保存此成绩对应的成绩,第i位参赛者的姓位参赛者的姓名保存在名保存在a(i)中,成绩保存在中,成绩保存在b(i)中。中。程序界面如图所示,左边列表框程序界面如图所示,左边列表框List1中显示原始中显示原始数据数据(姓名和相应的成绩姓名和相应的成绩),单击,单击“排序排序”按钮按钮(Command1),排序后的结果按成绩从高到低显示,排序后的结果按成绩从高到低显示在列表框在列表框List2中。中。解决此问题的算法流程图如图所示,排序部分的程序段如下:解决此问题的算法流程图如图所示,排序部分的程序段如下:Dim a(1 To 12) As Stri
33、ngDim b(1 To 12) As SinglePrivate Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer, x As Single, y As String For i 1 To 11 k i For j i 1 To 12 If Then k j Next j If k i Then y a(i): a(i) a(k): a(k) y End If Next i For i 1 To 12 List2.AddItem a(i) ” ” Str(b(i) Next iEnd SubPrivate Su
34、b Form_Load() 此过程用于对数组此过程用于对数组a和数组和数组b进行初始赋值,代码略进行初始赋值,代码略End Sub(1)解决此问题的算法是解决此问题的算法是_。(2)程序中划线处应填入程序中划线处应填入_。(3)程序中划线处应填入程序中划线处应填入_。注:该示例程序在素材文注:该示例程序在素材文件夹下件夹下vb27文件夹中。文件夹中。选择排序算法选择排序算法b(j)b(k)x=b(i):b(i)=b(k):b(k)=x12. 某校高三年级段要将模拟考试成绩进行一个排名,需某校高三年级段要将模拟考试成绩进行一个排名,需要对总分进行排名次。以下程序运行时,自动在列表要对总分进行排名
35、次。以下程序运行时,自动在列表框显示学生姓名与成绩,点击框显示学生姓名与成绩,点击“排名次排名次”按钮按钮Command1,将按成绩从高,将按成绩从高到底进行排序。到底进行排序。程序运行界面如下图所示:程序运行界面如下图所示:部分程序代码如下所示:部分程序代码如下所示:Dim xm(1 To 45) As String用于存储学生姓名用于存储学生姓名Dim cj(1 To 45) As Single 用于存储学生总分用于存储学生总分Private Sub Command1_Click()List1.ClearDim i As Integer, j As Integer, k As Intege
36、r, x As Single, y As StringFor i 1 To 44 k i For _If cj(j) cj(k) Then k j Next j If k i Thenx cj(i):cj(i) cj(k): cj(k) xy xm(i): xm(i) xm(k): xm(k) y End If Next iFor i _ List1.AddItem Str(i) ” ” xm(i) ” ” Str(cj(i)Next iEnd Sub 在程序和划线处,填入适当的语在程序和划线处,填入适当的语句或表达式句或表达式,把程序补充完整:,把程序补充完整:(1)程序中划线处应填入程序中
37、划线处应填入_。(2)程序中划线处应填入程序中划线处应填入_。注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb28文件夹中。文件夹中。Private Sub Form_Load()此处为姓名与成绩赋值语句,忽略此处为姓名与成绩赋值语句,忽略For i 1 To 45 List1.AddItem xm(i) ” ” Str(cj(i)Next iEnd Subj=i+1 To 451 To 4513. (操作题操作题)设计一个设计一个VB程序,模拟电商网站的商品价程序,模拟电商网站的商品价格排序格排序(假设共假设共100个价格个价格)。运行界面如下图所示:。运行界面如下图所示:控件类
38、控件类控件名称控件名称属性属性属性值属性值说明说明窗体窗体Form1Caption价格排序价格排序定义程序的窗口标题栏文本定义程序的窗口标题栏文本框架框架Frame1Caption排序方式排序方式框架为单选控件提供可识别框架为单选控件提供可识别的分组,美化窗体的分组,美化窗体单选按钮单选按钮Option1Caption按价格从低到高按价格从低到高提示排序方式提示排序方式(升序升序)单选按钮单选按钮Option2Caption按价格从高到低按价格从高到低提示排序方式提示排序方式(降序降序)列表框列表框List1显示价格数组显示价格数组a中数据中数据命令按钮命令按钮Command1Caption排
39、序排序说明按钮的作用说明按钮的作用(1)请按下表中的说明在窗体中添加控件并设置控件的属性值:请按下表中的说明在窗体中添加控件并设置控件的属性值:(2)打开代码窗口,添加变量声明代码:打开代码窗口,添加变量声明代码: Dim a(1 To 100) As Single 定义价格数组定义价格数组 Dim i As Integer, j As Integer, k As Integer Dim t As Single Const n 100(3)双击窗体,添加数组初始化代码:双击窗体,添加数组初始化代码:Private Sub Form_Load()For i 1 To 100 a(i) Forma
40、t(Rnd() * 100 500, “00.0”) 模拟价格,模拟价格,产生产生500至至600一个随机数,带一位小数一个随机数,带一位小数 List1.AddItem a(i) Next iEnd Sub(4)双击双击“排序排序”按钮按钮Command1,添加如下代码,添加如下代码Private Sub Command1_Click()List1.ClearFor i 1 To n 1 k i For j i 1 To n If Option1.Value True ThenIf Then k j 按价格从低到高排序按价格从低到高排序ElseIf a(j) a(k) Then k j 按价
41、格从高到底排序按价格从高到底排序End If Next j If i k Thent a(i): a(i) a(k): a(k) t End IfNext iFor i 1 To 100 显示排序后的数据显示排序后的数据Next iEnd Sub(5)在程序和划线处,填入适当的语句或表达式,把程在程序和划线处,填入适当的语句或表达式,把程序补充完整:序补充完整:划线处应填入划线处应填入_。划线处应填入划线处应填入_。(6)程序调试正确后,在当前文件夹下生成程序调试正确后,在当前文件夹下生成“moni.exe”,并,并递交给老师。递交给老师。注:该示例程序在素材文件夹下注:该示例程序在素材文件夹下vb29文件夹中。文件夹中。a(j)a(k) List1.AddItem a(i)选择排序和冒泡排序的比较交换次数执行时间冒泡O(n2)长选择O(n)短以n个数据为例3 7 18 2 8 5n用冒泡排序从大到小排序第4趟结果是:n用选择排序从小到大排序第3趟结果是:
限制150内