电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

冒泡排序算法及程序实现VIP免费

冒泡排序算法及程序实现_第1页
1/28
冒泡排序算法及程序实现_第2页
2/28
冒泡排序算法及程序实现_第3页
3/28
1.冒泡排序算法的基本思想冒泡排序是在一列数据中把较小(大)的数据逐次向上推移的一种排序技术。该算法的基本思想是把待排序的n个元素的数组看成是垂直堆放的一列数据,从最下面的一个元素起,自下而上地比较相邻的两个元素中的数据,将较小(大)的数据换到上面的一个元素中。重复这一过程,直到处理完最后两个元素中的数据,称为一趟加工。当第一趟加工完成时,最小(大)的数据已经上升到第一个元素的位置。然后对余下的n-1个元素重复上述处理过程,直至最后余下两个数据的比较和交换。3.4冒泡排序算法及程序实现由于每一趟加工都是将本趟最小(大)的数元素像气泡一样浮至本趟的顶端位置,所以称作冒泡排序。但冒泡也有变式,即将数组元素进行两两比较,若相邻两个元素中的数据不符合排序,就交换位置。某数组c共由4个元素构成,每个元素的值如下表所示:数组元素c(1)c(2)c(3)c(4)值23383015采用冒泡排序思想进行升序排序,从最下面的一个元素起,自下而上的比较相邻两个元素中的数据,整个排序过程如下所示:①第一趟加工处理过程:第一趟加工共比较3次,处理完成后,最小的元素15存储在了c(1)中。②第二趟加工处理过程:第二趟加工共比较2次,处理完成后,第2个最小的元素23存储在了c(2)中。③第三趟加工处理过程:第三趟加工共比较1次,处理完成后,第3个小的元素32存储在了c(3)中。4个元素共需进行3趟加工处理,总的比较次数为3+2+1=6次。对n个元素的数组,用冒泡法进行排序时,共需比较n(n-1)/2次。2.冒泡排序算法的程序实现冒泡排序程序的实现可用双重For循环来实现,外层For循环控制是第几遍加工,内层For循环控制进行排序的数组元素下标的变化范围。由于每趟加工完成后,进行排序的范围会发生变化(每趟减少一个),故内层For循环变量的下界由外层循环变量决定。现有n个数据,分别存放在数组变量a(1Ton)当中,用冒泡排序算法表示结构如下:用冒泡排序算法程序实现的片段如下:Fori=1Ton-1Forj=nToi+1Step-1Ifa(j)a(j-1),则排序结果是从大到小。反之,如果交换数据的条件是前面元素大于后面元素,如a(j)>a(j+1)、a(j)h(j)Thent=h(i):h(i)=h(j):h(j)=tEndIfNextjNexti本节课学习要理解冒泡排序算法的基本思想,能根据冒泡排序的思想,对一组数据进行冒泡排序。掌握冒泡排序算法的程序实现,能根据给出的题目自行编写冒泡程序。考查方式为选择题与填空题。1.某书店在5所学校流动售书量(单位:本)分别是82、113、46、69、35。采用冒泡排序对其进行排序,若完成第一遍时的结果是35、82、113、46、69,则完成第二遍时的结果是()A.35、82、113、46、69B.35、46、82、69、113C.35、46、82、113、69D.35、46、69、82、113C2.下表记录了6个数据的排序过程。分析表中数据可知,该排序采用的算法与排序方式分别为()原始数据635759424571第1遍426357594571第2遍424563575971第3遍424557635971…………………A.冒泡排序,降序B.选择排序,降序C.冒泡排序,升序D.选择排序,升序C3.实现某排序算法的部分VB程序如下:Fori=1To4Forj=5Toi+1Step-1Ifa(j)

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

冒泡排序算法及程序实现

您可能关注的文档

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群