- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 如果我们对算法进行改进的话,那么,在每一轮的比较中不必每当 a[j]a[i] 就交换数据,而应在 a[i+1] ---- a[9] 都比较完后,再将a[i] 与 a[i+1]----a[9] 中的值最小的那个元素对换即可。 例如,在第一轮的比较中,先将 a[1] 与 a[2] 比,如果, a[1] a[2] ,不作互换,而是把 a[2] 的下标 “2” 记载下来,表示 “在已经比较过的数据中,最小的数在下标为 ” 2 “ 的数组元素中”。 所谓记载下来,就是说,将下标 “2” 存放在一个变量 k 中 ,设有10个原来次序是由大到小排列的数。设一个变量k,用它来“指向”某一个数组元素,它开始指向 a[1], 以后每比完一次后,哪个数最小,则k 就指向该数。先将 a[1] 和 a[2] 相比较,如: 99 122 , 即a[2]a[1] ,此时,不将a[1] 与 a[2] 互换,而是使 k指向 a[2],表示在a[1]与a[2] 的两个数中,a[2]为最小,。。。。。。。。 如此反复进行下去,直到内循环结束后,也就是第一轮比较完后,应将a[1]与a[k]中的数对换,,而其它8个数均不动,显然交换的次数要比上页程序中所用的“比较交换法”少得多。 同理,在第二轮的比较中,先令k=2,然后再将 a[k]与a[3]---a[10] 进行比较,如果第一个a[j] 大于 a[k] ,则将 a[j] 的下标 赋给 变量 k ,在比完第二轮后 ,a[k] 是9个数中最小者 ,令 a[2] 与a[k] 对换。。。。。。。。。 以后都以此类推,直到比较完轮为止。 上述中的外循环是用来控制比较的 “ 轮 ” 数,循环变量 i 由1变到9 ,表示共进行9轮比较。 “ k=i “ 的意思是:在第一轮中使k 的初始为 1 ,在第二轮中使 k的初始值为 2 。。。 。。。在每比完一轮后,都使 a[k] 与 a[i] 对换。 * 所谓风格,其实就是作家、画家、程序员在创作中喜欢和习惯使用的表达自己作品题材的方式。 特别是,当多个程序员合作编写一个大的程序时,尤其需要强调良好的和一致性的风格,以利于相互通讯,减少因不协调而引起的问题。清晰易读 的程序设计风格。本节将具体说明怎样实现这种良好的风格。 在1974年的时候,就曾经有人把编码风格归结为如下几个问题: 大家还记得结构化程序的主要特点就是-------具有单入口和单出口。所以只要组成程序的所有控制结构都遵守单入口和单出口的原则,则无论控制结构使用多少种,也无论程序有多么长,那么整个程序仍能保持控制流的直线性使之清晰易懂。 为了保持控制流的直线性,在编码中要着重抓好以下两件事: 1、对多入口/多出口的控制结构要作适当的处理。例如,上图:。。。。。。 上图显示了一个多入口循环结构的流程图及其相应的程序。其中,S2与C2则构成了一个循环,其循环体S2 有两个入口,分别来自于C1 与 C2 。Sn表示后续语句。其处理方法如下: 详见下页: * 处理方法: 将S2 重复画一次,把与C1相关的的选择结构同与C2相关的循环结构分开,就可把循环结构的双入口改造为单入口。通常我们把这种方法可成为 “ 重复环节法” ,从中可以看出:改造后的程序,其可读性要有明显的提高。 * 上图是一个带有双出口的循环结构。 其含义是只有当C1与C2同时保持为“真”时,循环才能继续下去。若C1非“真”,则执行S2后退出,若C2非“真” 便直接退出,从而构成了两个循环出口。 其处理方法见下页: * 通过对程序的逻辑分析,我们可以将前题改造为单出口的循环结构,见上图。通常我们把这样的分析方法称为-----逻辑分析方法。 * 例3,是一个对提前退出循环处理的例句。 当我们在进行程序设计时,还经常遇到一类在循环结构中含有条件语句,一旦条件得到满足,便提前退出循环,并跳到正常的循环出口之外,为了满足功能的要求,又添加一个非正常的提前退出出口。例如,以前我们曾经设计一个查询零件库中的零件的查询程序,就类似于这样的结构。见上图(左); 处理方法: 像这样的循环我们可以用-----------“标志变量“ 法将它设置成单出口结构。 具体做法为: 先设一个标志标量-----EXIT----- ,并将它设置为“假”。一旦在某次循环C2获得满足,便EXIT改“
您可能关注的文档
- Flex_4.0_RIA开发详解讲义.ppt
- FTTH场景建设方案.ppt
- FTTH建设技术交流.ppt
- FTTH皮线及ONU终端安装培训教材.ppt
- Excel入门基础及工程量计算书(结算单)格式规范讲座.ppt
- GBT28001-2011危险源辩识、风险评价和控制策划在送变电工程中的应用(改).ppt
- FTTH布线施工规范交流.ppt
- GBT 50784-2013《混凝土结构现场检测技术标准》宣贯课件二.ppt
- FTTH设计施工细则.ppt
- GIS08第八章 地理信息系统的开发与评价.ppt
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)