按成绩排名次的算法及动态演示程序.docVIP

按成绩排名次的算法及动态演示程序.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按成绩排名次的算法及动态演示程序

不改变数据位置的排序算法及动态演示 宁 宁1,张 霞2 (1.潍坊教育学院信息工程系,山东 青州 262500; 2.潍坊教育学院数学系,山东 青州 262500) 摘要:实际应用中经常遇到要求不改变原始数据的顺序而按关键字的大小对数据进行排序的情况,原有的一些经典排序算法不能直接用于解决该类问题。经过对选择排序算法进行研究,给出了基于选择思想的不改变数据位置而对数据进行排序的算法,并利用C#语言编程对该算法的实现过程进行了动态演示。 关键词:排序 ; 关键字 ; 选择 ; 定时器 Sorting Algorithm Without Changing the Data Position Dynamic Demonstration 1.FU Ning 2.ZHANG Dong-xia (1.The Engineering Department of Weifang College of Education,Qingzhou Shandong 262500The Information Engineering Department of Weifang College of Education,Qingzhou Shandong 262500)Abstract:In practical application, the situation, in which it requires a listing of the data in the order of the size of the keywords without changing the order of the original data, is an often-met case. The original classic sorting algorithm cannot be used directed to solve this kind of problem. This paper, by researching into the selective sorting algorithm, puts forward an algorithm on the basis of sorting the data without changing the positions of the data. It also gives a dynamic demonstration of the realization procedure of this algorithm by applying the C language programming. Keywords:sorting ; key word ; select ; timer 1. 问题的提出 排序是计算机程序设计中一项基本的操作,在实际应用中,有很多情况下需要对数据按照某种方式进行排序后才能达到某种要求,因此,学习和研究各种排序方法是计算机工作者的重要课题之一。 我们已经熟知的、比较成熟的排序算法有很多,比如冒泡排序、选择排序、插入排序、快速排序等,利用这些排序算法都能够使一组数据序列按照某个关键字排成需要的顺序。但这些经典的排序算法在对数据序列排序时,都要改变数据的原始顺序,也就是说,在一般情况下,排序问题的输入是n个数a1,a2,a3,……,an的一个序列,按照某个关键字对初始序列进行重新排序后产生初始输入序列的一个重新排列:a11, a21, a31, ……,an1,使得a11 a21 a31…… an1。经过排序后的结果序列一般和初始的输入序列是不一样的。而在实际应用中,我们可能只需要对数据按照某个关键字进行排序,记下该关键字对应的记录在数据序列中的位次或顺序,而并不要求原始数据的顺序发生改变。例如,通常我们对学生按总成绩进行排名,学生名单都是按照学号排好顺序的,对学生按成绩排名时要求学生名单的顺序不变,即仍然是按照学号进行排列的,但还要得到每个学生对应的名次,如下例所示: 待排序数据:( 596 560 480 616 560 580 498 500 540 610) 对应的名次:( 3 5 10 1 o 5 4 9 8 7 2 ) 对于实际工作中类似的排序要求,原有的一些基础排序算法就不能够直接应用,在具体的编程应用中可以在一些经典排序方法的基础上适当做一些改进,来解决具体的问题。本文基于选择排序算法的基本思想,给出了对不改变数据位置而对数据进行排序的有效算法,并利用C#语言编程给出了该算法实现的动态演示。 2. 算法实现 假设要处理的数据存放在A数组中,为了我们算法实现的需要,我们定义A数组为A[2][n],

文档评论(0)

teda + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档