C语言课件冒泡排序法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行结果:
谢谢!
原数据和序号
序号 数据
1 49Байду номын сангаас
2 38
3 65
4 97
5 76
6 13
7 27
8 49
第一趟下沉的步骤:
序号 数据
1 38
2 49
3 65
4 76 97
5 13 97 76
6 27 97 13
7 49 97 27
8 97 49
经过一趟下沉,把最大的数沉到最底了
用流程图把这一趟下沉描述出来: i=1, T=0
用冒泡排序法排列一组数
主讲:朱令
冒泡排序
教学目标:理解冒泡排序的原理 理解冒泡排序的流程图 加深对变量的使用的理解
教学难点:冒泡排序的原理和流程图
冒泡原理:质量大的(大的数据)下沉 质量小的(小的数据)上浮
方法:下沉法和上浮法
例:将一组无序数组排成从小到大
{ 49,38,65,97,76,13,27,49 }
是
R[i] R[i 1]
否
T=R[i]
R[i]=R[i+1] R[i+1]=T i=i+1
否
i>7
是
一个完整的程序来表示这个算法:
#include"stdio.h" main() { int R[8]; int T=0; int i,j; printf("请输入8个整数:"); for(i=1;i<=8;i++) scanf("%d",&R[i]); for(i=1;i<=7;i++) { for(j=1;j<=8-i;j++) { if(R[j]>R[j+1]) { T=R[j]; R[j]=R[j+1]; R[j+1]=T; } } } printf("排序后的数字是:"); for(i=1;i<=8;i++) printf("%d",R[i]; }