预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

冒泡排序突围赛竞演男明星投票结果如何实现将较小数数逐次从下往上推移呢?突围赛竞演男明星投票结果原始数据冒泡趟数6个元素,排序进行5趟,比较次数分别是5、4、3、2、1次例题一:下列表格中是突围赛女选手的年龄,请你利用冒泡排序将她们的年龄从小到大排列,进行两趟冒泡排序后结果是:我们如何用算法来实现冒泡排序?a比较a(6)与a(5)之间的大小(选择结构)a(6)<a(5)YIfthenEndifa(6)<a(5)第一趟排序算法实现Forj=6tostepIfthena(j)=a(j-1)a(j-1)=tEndif第1趟冒泡排序时j从6开始到2第3趟冒泡排序时j从6开始到4第5趟冒泡排序时j从6开始到66个元素,排序进行趟变量i的取值范围到变量j的取值范围到fori=toForj=tostepIfthena(j)=a(j-1)EndifNextjNexti我们如何快速高效的完成n个元素的排序呢?n个元素,排序进行趟变量i的取值范围到变量j的取值范围到编写n个元素进行冒泡排序算法实现fori=toForj=tostepIfthena(j)=a(j-1)EndifNextjNexti练习二、以下程序的功能是随机生成20个1到100之间的正整数,用冒泡排序法将其排序从大到小的顺序排序后输出。请将下列程序补充完整。1处应填写的代码2处应填写的代码3处应填写的代码Privatesubcommand1_click()Dima(1to20)asinteger,iasintegerDimjasinteger,tempasintegerPrint”排序前:”Fori=1to20a(i)=1printa(i)nextiprintfori=20to1step-1forj=1to19if2thent=a(j+1)3a(j+1)=tendifnextjnextiprint“排序后:”Fori=1to20printa(i)nextiEndsub冒泡排序的基本原理:对存放有n个原始数据的数组,按从后往前的方向依次进行两两比较,当发现相邻两个数据的次序与排序要求的大小次序不符合时,即将这两个数据进行互换。这样,较小的数据就会逐个向前移动,好象气泡向上浮起一样。数组元素之间两两比较完成我们称为冒泡一趟,直至n-1趟冒泡之后,数据呈现有序排列。利用冒泡法,对下列这一组数据按升序进行排序5、8、13、17、15、23问题1:在排序的过程中,排序了几趟,真正只需要冒泡几趟?问题2:我们如何来提高冒泡排序的效率?谢谢!