欢迎来到天天文库
浏览记录
ID:12286059
大小:33.00 KB
页数:3页
时间:2018-07-16
《冒泡排序算法精讲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、排序算法【教学目标】1、理解排序的概念2、了解常用排序方法3、理解冒泡排序的基本思路4、应用冒泡排序法进行排序【重点难点】1、冒泡排序法的基本思路2、应用冒泡排序法进行排序排序的概念:排序就是把一组元素(数据或记录)按照元素的值的递增或递减的次序重新排列元素的过程。如:4938762713常用排序的方法:1、冒泡排序:冒泡排序是一种简单而饶有趣味的排序方法,它的基本思想是:每次仅进行相邻两个元素的比较,凡为逆序(a(i)>a(i+1)),则将两个元素交换。2、插入排序:它是一种最简单的排序方法,它的基本思想是依次将每一个元素插入到一个有序的序列中去。这很象玩扑克牌时一边抓牌一边理牌的过程
2、,抓了一张就插到其相应的位置上去。3、选择排序:这是一种比较简单的排序方法,其基本思想是,每一趟在n-i+1(i=1,2,3,...,n-1)个元素中选择最小的元素。冒泡排序:冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。整个的排序过程为:先将第一个元素和第二个元素进行比较,若为逆序,则交换之;接着比较第二个和第三个元素;依此类推,直到第n-1个元素和第n个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元素的位置上。然后,对前n-1个元素进行同样的操作,使次大的元素被安置
3、到第n-1个元素的位置上。重复以上过程,直到没有元素需要交换为止。例题:对4938762713进行冒泡排序的过程:初始状态:[4938762713]第一趟排序后:[38492713]76第二趟排序后:[382713]4976第三趟排序后:[2713]384976第四趟排序后:1327384976课堂练习:用冒泡排序对68453575551741进行排序,第二趟排序后的状态为:A、45356855174175B、35174145556875C、35455517416875D、35451741556875作业:1、以下两组数据按有小到大排序,请写出每一趟排序后的结果4582127513899
4、590877665544332212、以下两组数据按有大到小排序,请写出每一趟排序后的结果45521218854632122334455667788991拓展:随机生成10个不同的整数存于数组a(1to10)中,按从小到大的顺序输出。冒泡排序:冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。整个的排序过程为:先将第一个元素和第二个元素进行比较,若为逆序,则交换之;接着比较第二个和第三个元素;依此类推,直到第n-1个元素和第n个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元
5、素的位置上。然后,对前n-1个元素进行同样的操作,使次大的元素被安置到第n-1个元素的位置上。重复以上过程,直到没有元素需要交换为止。例题:对4938762713进行冒泡排序的过程:初始状态:[4938762713]第一趟排序后:[38492713]76第二趟排序后:[382713]4976第三趟排序后:[2713]384976第四趟排序后:1327384976排序算法编程相关知识:1、数组的定义:声明数组的一般格式如下:Dim数组名([下界to]上界)As数据类型2、数组元素的输入输出:(1)生成随机整数(1-100之间)Randomizefori=1tona(i)=int(rnd*1
6、00+1)nexti(2)输出数组元素fori=1tonprinta(i);nexti3、冒泡排序的算法实现:冒泡排序是一种简单而饶有兴趣的排序方法,它的基本思想是:每次进行相邻两个元素的比较,凡为逆序(即a(i)>a(i+1)),则将两个元素交换。用两个FOR循环实现:forj=n-1to1step-1fori=1tojifa(i)>a(i+1)thent=a(i)a(i)=a(i+1)a(i+1)=tendifnextinextj应用:1、随机生成10个不同的整数存于数组a(1to10)中,按从小到大的顺序输出。2、随机生成20个学生的考试成绩,其中前50%的学生可以参加夏令营。输出
7、这50%的学生的成绩。3、数组A和数组B分别记录6个数据,现在要把这两个数组合并成一个有序的数组。(从大到小的顺序)
此文档下载收益归作者所有