排序算法的程序实现PPT精品文档.ppt

上传人:rrsccc 文档编号:9670754 上传时间:2021-03-16 格式:PPT 页数:15 大小:130.50KB
返回 下载 相关 举报
排序算法的程序实现PPT精品文档.ppt_第1页
第1页 / 共15页
排序算法的程序实现PPT精品文档.ppt_第2页
第2页 / 共15页
排序算法的程序实现PPT精品文档.ppt_第3页
第3页 / 共15页
排序算法的程序实现PPT精品文档.ppt_第4页
第4页 / 共15页
排序算法的程序实现PPT精品文档.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《排序算法的程序实现PPT精品文档.ppt》由会员分享,可在线阅读,更多相关《排序算法的程序实现PPT精品文档.ppt(15页珍藏版)》请在三一文库上搜索。

1、.,1,5.3 排序算法的程序实现,.,2,冒泡排序思想:在一列数据中把较小的数据逐次向上推 移的一种排序技术。,1、冒泡排序算法,例:进行体操比赛时,有4位裁判员为运动员评分。运动 员最后得分是从这4位裁判分别给出的4个分数中,去 掉一个最高分和一个最低分的平均分。,.,3,(1)冒泡排序的过程:(8.5,9.0,7.0,8.0),第1遍,第2遍,第3遍,i=1,i=2,i=3,.,4,程序: for i=1 to 3 for j=4 to i+1 step -1 if d(j)d(j-1) then t=d(j) d(j)=d(j-1) d(j-1)=t endif next j next

2、 i,.,5,练习1、下表中的原始数据是一组学生的军训打靶成绩, 若采用冒泡排序算法对其进行排序,则第14遍的排序 结果分别是(),.,6,2、陈晓峰和同学们去农科院开展研究性学习,大家都收获很大,晓峰设计了一个Visual Basic程序,他把同学们收集到的水稻亩产量和同学姓名已分别保存在数组a和数组b中,第i个同学收集的亩产量保存在a(i)中,对应的同学姓名保存在b(i)中,最后按亩产量从高到低进行排序。 程序界面如图所示,左边列表框List1中显示的是所有同学收集到的原始数据,单击排序按钮(Command1)后,在右边的列表框List2中显示排序完成后的结果(按亩产量从高到低排列)。,.

3、,7,解决此问题的算法流程图如图所示,相应的排序部分程序如下: Dim a(1 To n) As Single Dim b(1 To n) As String Private Sub Command1_Click() Dim i As Integer, j As Integer, c As Single, t As String For i = 1 To n 设共有n名同学 For j = n To i + 1 If Then c = a(j - 1): a(j - 1) = a(j): a(j) = c t = b(j - 1): b(j - 1) = b(j): b(j) = t End

4、If Next j Next i For i = 1 To n List2.AddItem Str(a(i) + + b(i) Next i End Sub,.,8,Private Sub Form_Load() 此过程用于对数组a和数组b进行初始赋值,代码略 End Sub,.,9,选择排序的基本思想:在所有记录中选出最小(大)的数据, 把它与第一个数据交换,然后在其余的记录中再选出最小(大) 的数据与第二个数据交换。以此类推,直至所有数据排序完成。,2、选择排序算法,例:进行体操比赛时,有4位裁判员为运动员评分。运动 员最后得分是从这4位裁判分别给出的4个分数中,去 掉一个最高分和一个最低

5、分的平均分。,.,10,(1)选择排序的过程:(8.5,9.0,7.0,8.0),第1遍,第2遍,第3遍,i=1,i=3,i=2,.,11,程序: for i=1 to 3 k=i for j=i+1 to 4 if d(k)d(j) then k=j next j if ki then t=d(i) d(i)=d(k) d(k)=t endif next i,.,12,练习1、下表中的原始数据是一组学生的军训打靶成绩, 若采用选择排序算法对其进行排序,则第14遍的排序 结果分别是(),.,13,2、某协会进行钓鱼比赛,最后有十人进入决赛,录入员编制了如下Visual Basic程序,功能是根

6、据成绩进行排序,程序中数组a保存所有参赛者的成绩,数组b保存此成绩对应的姓名,第i位参赛者的成绩保存在a(i)中,姓名保存在b(i)中。 程序界面如图所示,左边列表框List1中显示原始数据(成绩和相应的姓名),单击 排序按钮(Command1),排序后的结果按成绩从高到低显示在列表框List2中。,.,14,解决此问题的算法流程图如图所示,排序部分的程序段如下: Dim a(1 To 10) As Single Dim b(1 To 10) As String Private Sub Command1_Click() Dim i As Integer, j As Integer, k As

7、Integer, x As Single, y As String For i = 1 To 9 k = i For j = i + 1 To 10 If Then k = j Next j If k i Then x = a(i): a(i) = a(k): : y = b(i): b(i) = b(k): b(k) = y End If Next i For i = 1 To 10 List2.AddItem Str(a(i) + + b(i) Next i End Sub,.,15,Private Sub Form_Load() 此过程用于对数组a和数组b进行初始赋值,代码略 End Sub,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1