下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、姓名:_ 班级:_ 学号:_-密-封 -线- 中级软件设计师问答集考试卷模拟考试_题考试时间:120分钟 考试总分:100分题号一二三四五总分分数遵守考场纪律,维护知识尊严,杜绝违纪行为,确保考试结果公正。1、说明冒泡排序算法的基本思想是:对于无序序列(假设扫描方向为从前向后,进行升序排列),两两比较相邻数据,若反序则交换,直到没有反序为止。一般情况下,整个冒泡排序需要进行众(1kn)趟冒泡操作,冒泡排序的结束条件是在某一趟排序过程中没有进行数据交换。若数据初态为正序时,只需1趟扫描,而数据初态为反序时,需进行n-1趟扫描。在冒泡排序中,一趟扫描有可能无数据交换,也有可能有一次或多次数据交换,
2、在传统的冒泡排序算法及近年的一些改进的算法中2,3,只记录一趟扫描有无数据交换的信息,对数据交换发生的位置信息则不予处理。为了充分利用这一信息,可以在一趟全局扫描中,对每一反序数据对进行局部冒泡排序处理,称之为局部冒泡排序。局部冒泡排序的基本思想是:对于n个待排序数据组成的序列,在一趟从前向后扫描待排数据序列时,两两比较相邻数据,若反序则对后一个数据作一趟前向的局部冒泡排序,即用冒泡的排序方法把反序对的后一个数据向前排到适合的位置。扫描第对数据对,若反序,对第2个数据向前冒泡,使前两个数据成为,有序序列;扫描第二对数据对,若反序,对第3个数据向前冒泡,使得前3个数据变成有序序列;扫描第i对数据
3、对时,其前i个数据已成有序序列,若第i对数据对反序,则对第i+1个数据向前冒泡,使前i+1个数据成有序序列;依次类推,直至处理完第n-1对数据对。当扫描完第n-1对数据对后,n个待排序数据已成了有序序列,此时排序算法结束。该算法只对待排序列作局部的冒泡处理,局部冒泡算法的名称由此得来。以下为c语言设计的实现局部冒泡排序策略的算法,根据说明及算法代码回答问题1和问题2。变量说明#define n=100 /排序的数据量typedef struct /排序结点int key;info datatype;.node;node sortdatan; /待排序的数据组node类型为待排序的记录(或称结点
4、)。数组sortdata为待排序记录的全体称为一个文件。key是作为排序依据的字段,称为排序码。datatype是与具体问题有关的数据类型。下面是用c语言实现的排序函数,参数r为待排序数组,n是待排序数组的维数,finish为完成标志。算法代码void part-bubblesort (node r, int n)int=0 ; /定义向前局部冒泡排序的循环变量/暂时结点,存放交换数据node tempnode;for (int i=0;in-1;i+) ;if (ri.keyri+1.key)(1)while (2)tempnode=rj ;(3)rj-1=tempnode ;finish=
5、false ;(4)/ end while/ end if/ end for/ end function1.问题1阅读下列函数说明和c代码,将应填入(n)处的字句写在的对应栏内。 ( )2、说明冒泡排序算法的基本思想是:对于无序序列(假设扫描方向为从前向后,进行升序排列),两两比较相邻数据,若反序则交换,直到没有反序为止。一般情况下,整个冒泡排序需要进行众(1kn)趟冒泡操作,冒泡排序的结束条件是在某一趟排序过程中没有进行数据交换。若数据初态为正序时,只需1趟扫描,而数据初态为反序时,需进行n-1趟扫描。在冒泡排序中,一趟扫描有可能无数据交换,也有可能有一次或多次数据交换,在传统的冒泡排序算法
6、及近年的一些改进的算法中2,3,只记录一趟扫描有无数据交换的信息,对数据交换发生的位置信息则不予处理。为了充分利用这一信息,可以在一趟全局扫描中,对每一反序数据对进行局部冒泡排序处理,称之为局部冒泡排序。局部冒泡排序的基本思想是:对于n个待排序数据组成的序列,在一趟从前向后扫描待排数据序列时,两两比较相邻数据,若反序则对后一个数据作一趟前向的局部冒泡排序,即用冒泡的排序方法把反序对的后一个数据向前排到适合的位置。扫描第对数据对,若反序,对第2个数据向前冒泡,使前两个数据成为,有序序列;扫描第二对数据对,若反序,对第3个数据向前冒泡,使得前3个数据变成有序序列;扫描第i对数据对时,其前i个数据已
7、成有序序列,若第i对数据对反序,则对第i+1个数据向前冒泡,使前i+1个数据成有序序列;依次类推,直至处理完第n-1对数据对。当扫描完第n-1对数据对后,n个待排序数据已成了有序序列,此时排序算法结束。该算法只对待排序列作局部的冒泡处理,局部冒泡算法的名称由此得来。以下为c语言设计的实现局部冒泡排序策略的算法,根据说明及算法代码回答问题1和问题2。变量说明#define n=100 /排序的数据量typedef struct /排序结点int key;info datatype;.node;node sortdatan; /待排序的数据组node类型为待排序的记录(或称结点)。数组sortdata为待排序记录的全体称为一个文件。key是作为排序依据的字段,称为排序码。datatype是与具体问题有关的数据类型。下面是用c语言实现的排序函数,参数r为待排序数组,n是待排序数组的维数,finish为完成标志。算法代码void part-bubblesort (node r, int n)int=0 ; /定义向前局部冒泡排序的循环变量/暂时结点,存放交换数据node tempnode;for (int i=0;in-1;i+) ;if (ri.keyri+1.key)(1)while (2)tempnode=rj ;(3)rj-1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建龙岩学院附属中学招聘代课教师6人笔试参考题库及答案详解
- 2026广东警官学院总务部招聘合同制人员2人笔试题库及完整答案详解(考点梳理)
- 2026浙江温州乐清市保招聘无人机飞手考前冲刺试卷附答案详解(模拟题)
- 2026云南玉溪市澄江市文化旅游投资开发有限责任公司招聘1人备考题库附答案详解(突破训练)
- 2026四川成都市第六人民医院社会工作服务岗招募7人笔试题库A4版附答案详解
- 2026浙江温州市瓯海区数安港管理服务中心面向社会招聘编外人员的1人模拟试卷汇编附答案详解
- 2026中国公证协会招5人考前冲刺试卷及参考答案详解(综合卷)
- 2026贵州安顺西秀区招聘公益性岗位人员13人笔试题库重点附答案详解
- 2026浙江衢州龙游县保安服务有限公司招聘8人考前冲刺密卷及答案详解【名校卷】
- 2026年宿州市泗县机关事业单位就业见习人员招募65人笔试题库及完整答案详解【夺冠】
- 亡故患者信息保护教育培训课件
- 连续化生产管理制度
- 江苏省常州市三校联考2025-2026学年高一年级上册期中考试英语试题(含答案)
- 2025年企业负责人a证考试试题及答案
- 2025贵州省黔晟国有资产经营有限责任公司选聘模拟试卷有答案详解
- 降压药课件教学课件
- DB34∕T 5102-2025 巢湖流域农田面源污染防控技术指南
- DB3303∕T059-2023 政务信息化项目软件开发费用测算规范
- 小学四年级作文写作技巧指导
- 拆迁服务保密措施方案(3篇)
- Unit1 Let's Be Friends试卷(含答案)仁爱科普版英语(2024)七年级上册
评论
0/150
提交评论