实验九 比较两段不同的排序算法并进行改良.doc

上传人:创****公 文档编号:1855872 上传时间:2019-10-28 格式:DOC 页数:3 大小:30.50KB
返回 下载 相关 举报
实验九 比较两段不同的排序算法并进行改良.doc_第1页
第1页 / 共3页
实验九 比较两段不同的排序算法并进行改良.doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《实验九 比较两段不同的排序算法并进行改良.doc》由会员分享,可在线阅读,更多相关《实验九 比较两段不同的排序算法并进行改良.doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验九实验九 比较两段不同的排序算法并进行改良比较两段不同的排序算法并进行改良一、一、 目的和要求目的和要求1. 掌握数组名作为函数参数的编程方法2. 学会比较不同算法优劣 二、二、 实验实验内容内容1、程序比较题(下面给出的是 2 种不同的排序算法的程序段,请分别画出它们对应的流程图,并分析他们的优劣。 )题目要求:在键盘上输入 N 个整数,试编制程序使该数组中的数按照从大到小的次序排列。方法一:冒泡排序 从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比较后,最大的数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(

2、N-1)遍比较后就可以完成排序。源程序如下: #define N 10 #include“stdio.h“ main() int aN,i,j,temp; printf(“please input %d numbersn“,N); for(i=0;iaj+1) temp=aj; aj=aj+1; aj+1=temp; printf(“the array after sort:n“); for(i=0;iN;i+) printf(“%5d“,ai); 方法二:选择排序 首先找出值最小的数,然后把这个数与第一个数交换,这样值最小的数就放到了第一个位置;然后,在从剩下的数中找值最小的,把它和第二个数

3、互换,使得第二小的数放在第二个位置上。以此类推,直到所有的值从小到大的顺序排列为止。 #include“stdio.h“ #define N 10 main() int aN,i,j,r,temp; printf(“please input %d numbersn“,N); for(i=0;iN;i+) scanf(“%d“, for(i=0;iN-1;i+) r=i; for(j=i+1;jN;j+) if(ajar) r=j; if(r!=i) temp=ar; ar=ai; ai=temp; printf(“the array after sort:n“); for(i=0;iN;i+) printf(“%5d“,ai); printf(“n“); 2、编程对上面两个程序段进行改良,使用函数完成排序,使用单步跟踪,观察数组名作为函数参数时内存中数据的变化。要求包括主函数和如下子函数:(本题可参考 203 页习题 8.15)(1(输入无序的十个整数;(2(用冒泡法从小到大排序;(3(要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置;分析:input 函数完成 10 个整数的录入。sort 函数完成起泡法排序,search 函数完成输入数的查找。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁