文档详情

沈阳航空航天大学-课程设计排序算法比较.docx

发布:2018-08-27约7.74千字共21页下载文档
文本预览下载声明
PAGE 沈阳航空航天大学电子信息工程学院 电子设计应用软件训练 总结报告 学生姓名: 专 业: 电子信息工程 班 级: 学 号: 54 指导教师: 训练时间:2012年 7月9日至 2012年7月20日 电子设计应用软件训练总结报告 PAGE PAGE \* MERGEFORMAT 2 电子信息工程学院 电子设计应用软件训练任务 一 、训练任务 1、PROTEL 部分 (1) 熟练掌握PROTEL 软件的使用; (2) 按要求绘制电路原理图和PCB 版图(能够用自动布线和手动布线相结合); (3) 能够按要求建立元件库和封装库。 2、软件设计部分 按照给定的软件设计任务完成相应的软件设计(见软件设计任务部分)。 二、基本要求及说明 1、PROTEL 部分 (1) 电路原理图图纸尺寸按照给定的任务作相应的设置; (2) 电路原理图见PROTEL 训练任务部分; (3) 按指定电路图在PROTEL 99 中绘制原理图和印制板图; (4) 按照给定要求创建原理图器件和该器件的相应的封装(见PROTEL训练任务部分)。查找资料, 按资料创建原理图中某一元件及其封装形式; 2、软件设计部分 按软件设计要求实现相应的功能(见软件设计任务部分) 三、按照要求撰写总结报告 成绩评定表 评语、建议或需要说明的问题: 指导教师签字: 日期: 成 绩 软件设计部分 一.题目分析 利用随机函数产生N个随机整数,对这些数进行多种方法进行排序。 要求:至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。 二.设计过程(程序流程图) 1.定义一个结构体类型的线性表,并将该线性表初始长度设置为0。 2.构造输入随机数并显示在界面上的函数和输出排序之后的数据函数,使排序前和排序后的结果能直观显示在屏幕上。 3.主函数调用直接插入排序函数,通过函数调用将随机数进行排序。流程图如图11所示。 定义整型变量 i,j开始 定义整型变量 i,j 开始 L.length==0 L.length==0 Y i=2 i=2 输出要排序的数据为空! 输出要排序的数据为空! i=L.length N i=L.length 返回 Y 返回 L.r[i]L.r[i-1] L.r[i]L.r[i-1] 返回返回 N 返回 返回 L.r[0]=L.r[i]; L.r[i]=L.r[i-1] Y L.r[0]=L.r[i]; L.r[i]=L.r[i-1] i=i+1 i=i+1 j=i-2 j=i-2 L.r[j+1]=L.r[j] L.r[j+1]=L.r[j] j=j-1 j=j-1 L.r[0]L.r[j] N L.r[0]L.r[j] Y L.r[j+1]=L.r[0] L.r[j+1]=L.r[0] 图11 直接插入排序函数流程图 开始主函数调用起泡排序函数,通过函数调用将随机数进行排序。流程图如图12所示。 开始 定义整型变量 i,j,t 定义整型变量 i,j,t L.length==0 N L.length==0 Y i=1 i=1 i=L.length-1输出要排序的数据为空! i=L.length-1 输出要排序的数据为空! 返回 N 返回 j=1 Y j=1 返回 返回 j=L.length-i j=L.length-i N 返回i=i+1 返回 i=i+1 j=j-1L.r[j]L.r[j+1] Y j=j-1 L.r[j]L.r[j+1] 返回 N
显示全部
相似文档