1、if mini then k=d(min)d(min)=d(i)d(i)=kend ifnext i(4)例题:例题1:使用选择排序的方法对数据8、6、1、9、4从大到小排序,需要进行数据比较、数据互换的次数分别是( D )A、4,5 B、10,2 C、3,3 D、10,4例题2:小陈设计了一个带密码的趣味“4+1”小游戏,小陈告诉大家,该密码可以通过以下方法破解:将一组顺序是“3、2、8、5、9”的数码,在用选择排序法将这组数码从大到小的排序过程中,进行两次数据交换,即得。则该密码可能是( D )A、98523 B、92853 C、98523 D、98253例题3:以下表格中的数据为2009
2、年快乐女生十进七淘汰赛的选手信息。某同学设计了一个Visual Basic程序用于选出晋及前七名的选手信息。程序界面如下图所示,单击“十进七晋级名单”,在list2里显示晋及前七名的选手信息。阅读、完善以下程序,并上机验证。完成下面问题: Dim xs(1 To 10) As StringDim df(1 To 10) As IntegePrivate Sub Form_Load()Dim i As Integerxs(1) = 黄 英“ : df(1) = 88xs(2) = 江映蓉“ : df(2) = 87xs(3) = 李霄云“ : df(3) = 72xs(4) = 刘惜君“ : d
3、f(4) = 77xs(5) = 谈莉娜“ : d(5) = 61xs(6) = 郁可唯“ : df(6) = 81xs(7) = 潘虹越“ : df(7) = 48xs(8) = 潘 辰“ : df(8) = 38xs(9) = 李媛希“ : df(9) = 36xs(10) = 曾轶可“: df(10) = 51For i = 1 To 10List1.AddItem xs(i) + + Str(df(i)List1.AddItem Next iEnd SubPrivate Sub Command1_Click()Dim j As Integer, k As Integer, m As I
4、ntegerDim temp1 As StringDim temp2 As IntegerFor j = 1 To 9 m = j For k = j + 1 To 10 If Then m= k Next k If j df(m) 4)程序中划线处应填入 xs(j) = xs(m) 5)程序中划线处应填入 1 to 7 2. 冒泡排序(1) 概念:把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻两个元素中的数据,将较小的数据换到上面的一个元素中,重复这一过程,直到处理完最后两个元素中的数据,称为第一遍加工。然后对余下的n-1个元素重复上述处理过程,直
5、至最后进行余下的两个数据的比较和交换。(2)算法:for j=n to i+1 step -1d(j-1) then k=d(j) d(j)=d(j-1) d(j-1)=k end if (3)例题:5位学生100米短跑的成绩(单位:秒)如下表。若采用冒泡排序算法对其进行排序,则第3趟的排序结果是( A )原始数据14.213.512.613.312.8第1趟第2趟第3趟第4趟A、12.6 12.8 13.3 14.2 13.5 B、 12.6 12.8 13.3 13.5 14.2 C、12.6 12.8 14.2 13.5 13.3 D、 12.6 12.8 13.5 14.2 13.3下
6、表记录了6个数据排序的过程。分析表中数据可知,该排序采用的算法与排序方式分别为( C )655759444569第1遍第2遍第3遍A、冒泡排序、降序 B、选择排序、降序C、冒泡排序、升序 D、选择排序、升序随机产生10个两位正整数,并对它们进行排序。用VB编写的程序运行界面如下图所示,请阅读并完善程序段,并上机验证。Dim d(1 to 10) as integer 定义一个一维数组d,用于存放10个正整数Dim i As Integer As IntegerDim j As Integer, temp As IntegerPrivate Sub Command1_Click() 随机产生10
7、个两位正整数Randomize 随机数初始化List1.Clear 原始数据清空 d(i) = int(Rnd*90)+10 List1.AddItem Str(d(i) 将数据显示到原始数据列表中NextPrivate Sub Command2_Click() 对10个两位正整数进行排序List2.Clear 将排序后的列表数据清空For i = 1 To 9For j = 10 to i+1 step -1 If d(j)d(j-1) Then temp=d(j):d(j)=d(j-1):d(j-1)=tempEnd If Next jNext i List2.AddItem Str(d(
8、i) 在列表2中显示排序后的数据3. 选择排序和冒泡排序对比:若数组d里有n个待排序的数据,分别用冒泡法和选择法对此进行排序,试填充下表中的数据。2、查找算法1. 顺序查找从数组的第一个数据开始,逐个将数据与给定的值进行比较。若某个数据和给定的值相等,则查找成功,输出所查数据的位置;反之,查找不成功,输出“数据不存在于此数组中”2. 对分查找前提:数组中被查找的数据必须是有序的基本思想: 首先将查找的数据与有序数组内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则根据数组元素的有序性,就可确定该数据应该在数组的前半部分还是后半部分继续进行查找。在新确定的范围内,继续按上述方法进行查找,直到获得最终结果。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1