程序设计基础教案202课时——查找与排序.docx
《程序设计基础教案202课时——查找与排序.docx》由会员分享,可在线阅读,更多相关《程序设计基础教案202课时——查找与排序.docx(9页珍藏版)》请在第一文库网上搜索。
1、教案序号20周次授课形式新授授课章节名称查找与排序教学目的学会使用查找和排序的技术教学重点查找、排序教学难点查找、排序使用教具机房课外作业课后体会授课主要内容1.15.2查找与排序5.2.1 排序排序是数据处理中常见的操作。所谓排序就是把数组中的元素按其值递增或递减的次序排列,这在很多实际应用中都需要用到,如要将学生成绩进行排序等。常用的排序方法很多,有直接插入排序法、SHE11排序法、选择排序法、冒泡排序法等等。在本节主要介绍后两种排序法。1 .选择排序法选择排序法的基本方法是:逐次重复地找出数组中最小值(或最大值),按被找到的先后次序将数组元素排列起来,从而实现数组的排序。在这个过程中,一
2、般要借助于一个临时变量作为在排序过程中数组元素值交换时的暂存单元。例5.4有一个数组a5,其元素值及排列次序如下:4,2,8,6,1。现要求用选择排序法将其按升序排列。第一次从这5个元素中选择(找出)最小的元素,将其与数组中的第一个元素进行值的交换。第二次选择是从数组中第二个元素起的5-1个元素中选择值最小的元素,将该元素与数组的第二个元素进行值的交换。下面第三次、第四次都按这种方法进行。每选择一次,就排好一个元素的次序,然后再对余下的元素进行选择,最后剩下一个元素(即数组中最大的元素)时,排序就完成了。数组原始状态:4,2,8,6,1第一次选择后:1,2,8,6,4第二次选择后:12,8,6
3、,4第三次选择后:1,2,4,6,8第四次选择后:1,2,4,6,8这样该数组就排序完成。方括号中的内容是待排序的数组元素值。具体算法如图5.3所示,其中共分为三块:第一块i循环,功能是输入待排序的5个数据放入数组a中,上04。第二块i循环,功能是按升序选择法排序,基本方法是先选出最小值元素和第一个元素交换位置,然后,再对剩下的n-1个元素重复这样的选择和交换,这样不断重复至所有的元素全被排序为止。第三块循环是输出排好序以后的数组元素。主要功能:选择法升序排序#inc1udeintmain()(inta5,i,j,k,temp,min;Primf(输入5个待排序的数:n)for(i=0;i=4
4、;i+)scanf(%d,fcai);for(i=0;i=3;i+)k=i+1;min=i;for(j=k;j=4;j+)if(ajamin)min=j;temp=ai;ai=amin;amin=temp;)Printf(输出排序后的数:n)for(i=0;i,ai);return0;)运行情况为:输入5个待排序的数:42861/输出排序后的数:124682.冒泡法排序对于升序持序,其冒泡法的基本思路是:从第一个元素开始,将相邻两个数比较,将较小的元素交换到前面。例5.5若有7个数:9,8,7,6,5,4,3。则用冒泡法按升序持序过程如图5.4所示。第一次9I_8-I76543第二次89I_7
5、I6543第三次879I_6_I543笫四次8769I_5_I43第五次87659I_4_I3第六次8765493I结果8765439图54第一次将8和9对调,第二次将笫2个数和笫3个数(9和7)对调,第三次将第3数和第4数(9和6)对调如此共进行6次,得到8,7,6,5,4,3,9的顺序,可以看到:最大的数9已“沉底”,而小的数已“上升”,最小的数3已向上“浮起”一个位置。经第一轮(共6次)后,已得到最大的数。然后进行第二轮比较,对余下的前面的6个数按上述方法进行比较、对调(需要时),经过5次比较,得到次大的数8。依次类推,对7个数要比较6轮,才能使7个数按升序排序。在第一轮中要进行两个数之
6、间的比较共6次,第二轮中比5次第六轮比I次。若有n个数,则要进行n-1轮比较。在第I轮中要进行n-1次两两比较,在笫j轮比较中要进行n-j次两两比较。算法设计如下:程序中定义三个变量(1)待排序的数的个数N,本题N=7。(2)比较轮数j,j=1,2,N-Io(3)第j轮待比较元素的下标i,i=1,2,N-j。程序要用两重计数型循环,步骤如下:(1)将待排序的数据放入数组a中。(2)让j取初值1。(3)让i从1到N-j,比较aiai+1,如果aiv=ai+1,位置不动;如果aiai+1,位置对调。此步结束后,aNj+1中的数为最小的数。(4)让j=j+1;只要j!=N-1就返回第(3)步,将aN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 教案 202 课时 查找 排序