9299.net
大学生考试网 让学习变简单
当前位置:首页 >> >>

高中数学冒泡排序-典型例题

高中数学冒泡排序-典型例题

冒泡排序-典型例题
【例 1】假设一个数据列为 R[1] ,R[2] ,R[3] ,…,R[n] , 要求从小到大排列. (1)请画出一趟冒泡排序的算法流程图. (2)请画出整个冒泡排序的算法流程图. 分析: 首先确定变量和初始条件.结合具体问题, 循环变量为 数据序号 i, 其初始值为 1; 其次确定循环体, 如果 R [i] >R [i+1] , 则交换两个数据的顺序;第三确定终止条件,终止条件为 i>n-

规律发现 宜选用循环结构设计算法.

关于 R[i]与 R[i+1]的交换 算法为 R: =R [i] , R [i] : =R [i+1] ,

1.特别在 R[i]与 R[i+1]的交换中,若用 R[i] :=R[i+1] , R[i+1] :=R.

R[i+1] :=R[i] ,则丢失了数据 R[i].
解: (1)一趟冒泡排序的算法流程图如图 2-3-10.

开始 i:=1


i>n-1 为终止条件,说明最多 经过 n-1 次比较.


R [ i]> R [ i+1]

R := R [ i] R [ i]:= R [ i+1] R [i +1]:= R
图 2-3-10 i:= i+1 (2)整个冒泡排序的算法流程图如图 2-3-11. 否 i> n -1 开是 始

结j 束 :=1
i: = 1

循环变量 j 记录着冒泡的趟数,


R [ i] > R [ i+ 1 ]



而 i 记录着每趟比较的次数.

R : = R [ i] R [ i] : = R [ i+ 1 ] R [ i+ 1 ] : = R i: = i+ 1

图 2-3-11



i= n


j: = j+ 1


j> n - 1


结束


网站首页 | 网站地图 | 学霸百科 | 新词新语
All rights reserved Powered by 大学生考试网 9299.net
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com