- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张仰彪第二排序法
? ? ? ? ? ? ? ? ? ? 张仰彪第二排序法? ? ? 张仰彪第二排序法的原理与目前非常流行的反恐类网络游戏有些类似,它将待排序数组内放错位置的数据视为隐藏在节日游行队列里故意站错位置的恐怖分子,并自 动地将这些恐怖分子按照它们相互之间的内在关系而分成几个不同的小组。排序时反恐队员首先从游行队列的最前头开始清查,若遇到的人是好人,就快速通过去查 下一个。如果查到一个站错位置的恐怖分子,就停下来在这个位置上连续地排查运作,直到将这个恐怖分子及其所在小组的全部成员都清理到正确的位置上,然后才 继续前行去查下一个位置。直到清查的次数比队列的长度小1时,尽管此时反恐队员可能仅沿着游行队列前行了很短的一段距离,还处在队列的头部,但队列中所有 站错位置的恐怖分子都已被清理到了正确的位置上,排序完毕。 ? ? ? ? 下面给出张仰彪第二排序法的C语言代码: # include stdio.h void? main ( ) { ? int? a [10]; ? int? i;? ? ? ? ? ? ? /* 记录排序的次数,并用于输入输出 */ ? int? j = 0;? ? ? ? ? ? /* 记录当前排序的位置 */ ? int? temp;? ? ? ? ? /* 数据交换时的存储中介 */ ? int? order;? ? ? ? ? /* 记录数据在数组里的大小排名,从小向大算 */ ? printf ( Input 10 numbers:\n ); ? for ( i=0;i 10;i++ )? ? ? ? ? /* 输入任意10个整数 */ ? ? ? scanf ( %d,a[i] ); ? printf ( \n ); ? for ( i=0;i 9;i ++ )? ? ? ? /* 排序的总次数比待排序数组的长度小1 */ ? { ? ? ? order = j;? ? ? ? ? ? ? /* 数据的排名从当前位置开始向后计算 */ ? ? ? for ( int x = j+1;x 10;x ++ )? ? ? /* 计算当前数据在数组里的排名 */ ? ? ? ? if ( a[x] a[j] )? order ++;? ? ? ? ? ? ? ? ? ? ? ? ? if ( order j )? ? ? /* 如果当前数据的排名大于它现在的位置 */? ? ? ? { ? ? ? ? while ( a[j] = = a[order] )? order ++;? /* 处理数组里的重复数据 */ ? ? ? ? temp = a[order];? ? ? ? ? /* 将这个数据交换到正确的位置上 */ ? ? ? ? a[order] = a[j]; ? ? ? ? a[j] = temp; ? ? ? } ? ? ? else? ? ? ? /* 如果当前数据的排名等于(不可能小于)它现在的位置 */? ? ? ? ? j ++;? ? ? ? ? ? ? ? ? ? /* 开始排下一个位置上的数据 */? ? ? ? } ? printf ( The sorted numbers is:\n ); ? for ( i=0;i 10;i ++ )? ? ? ? ? /* 输出排好序的10个整数 */ ? ? ? printf ( %d,a[i] ); ? printf ( \n ); } ? ? 下面是本排序法的算法例子,其中带下划线的数是已排好位置的数,红色的数是当前排序的位置。 {? 4, 5, 2, 4, 1, 3,0,2, 2,0 } 第1步: 排位置0上的数4, 有7个比它小得数, 它的排名为7, ? ? ? ? 由于排名7大于位置0, ? ? ? ? 所以将它与位置7上的数2交换。 ? ? ? ? 数组现在变为: {? 2, 5, 2, 4, 1, 3,0,4, 2,0 } 第2步: 排位置0上的数2, 有3个比它小得数, 它的排名为3, ? ? ? ? 由于排名3大于位置0, ? ? ? ? 所以将它与位置3上的数4交换。 ? ? ? ? 数组现在变为: {? 4, 5, 2, 2, 1, 3,0,4, 2,0 } 第3步: 排位置0上的数4, 有7个比它小得数, 它的排名为7, ? ? ? ? 由于排名7大于位置0, ? ? ? ? 所以将它与位置7上的数4交换。 ? ? ? ? 由于将要交换的两个数相等, ? ? ? ? 所以延后一个位置,将它与位置8上的数2交换, ? ? ? ? 数组现在变为: {? 2, 5,
您可能关注的文档
- 年轻人要不要不父母同住.ppt
- 年轻干部“撂挑子”现象.doc
- 年轻无止境---青苹果.ppt
- 并肩战斗·润物无声.doc
- 幸福,因为我们正年青(做PPT).doc
- 幼儿园2016年春季小班年级组教学计划.doc
- 幼儿园中、大班舞蹈兴趣班教学计划.doc
- 幼儿园中班电子琴活动计划.doc
- 幼儿园各种岗位职责大全.doc
- 幼儿园大班家长会教师讲话稿.doc
- 2024年必威体育精装版禁毒知识竞赛学习题库及答案 .pdf
- 2024年度黑龙江省禁毒知识竞赛培训题及答案 .pdf
- 2024年心理咨询师之心理咨询师基础知识综合练习试卷A卷附答案 .pdf
- 2024年度福建省禁毒知识应知应会考试题及答案 .pdf
- 2024年河北低压电工证题库低压电工考试题(全国版) .pdf
- 商用显示标准研究组:商用显示标准应用指南(2024版).pdf
- T_CNESA 1001-2019 电力储能用直流动力连接器通用技术要求.pdf
- 赛迪前瞻2024年第32期(总872期):区域制造业新旧动能加快转换,但两极分化趋势值得关注.pdf
- 威胁猎人汽车贷款欺诈风险研究报告.pdf
- T_CIAPS 0009-2021 储能变流器与电池管理系统通信协议 第 2 部分:Modbus 通信协议.pdf
文档评论(0)