当前位置:首页 > 单片机 > 单片机
[导读]   数据排序就是将一批数由小到大(升序)排列,或由大到小(降序)排列。下面介绍无符号数据升序排序程序设计。    最常用的数据排序算法是冒泡法。冒泡法是相邻数互换的排序方法,因其过程类似水

  数据排序就是将一批数由小到大(升序)排列,或由大到小(降序)排列。下面介绍无符号数据升序排序程序设计。
  
  最常用的数据排序算法是冒泡法。冒泡法是相邻数互换的排序方法,因其过程类似水中气泡上浮,故称冒泡法。排序时,从前向后进行相邻两个数的比较,如果数据的大小次序与要求的顺序不符时,就将两个数互换;否则,顺序符合要求就不互换。如果进行升序排序,应通过这种相邻数互换方法,使小数向前移,大数向后移。如此从前向后进行一次次相邻数互换(冒泡),就会把这批数据的最大数排到最后,次大数排在倒数第二的位置,从而实现一批数据由小到大的排列。
  
  假设有7个原始数据的排列顺序为6、4、1、2、5、7、3。第一次冒泡的过程是:
  
  如此进行,各次冒泡的结果如下:
  
  由上面的冒泡法可以看出,对于,n个数,理论上应进行(n-l)次冒泡才能完成排序,但实际上有时不到(n-1)次就已完成排序。例如,上面的7个数,应进行6次冒泡,但实际上第4次冒泡时就已经完成了排序。如何判定排序是否已经完成呢?就是看各次冒泡中是否有互换发生,如果有数据互换,则排序还没完成;否则就表示已经排好序。在程序设计中,常用设置互换标志的方法,用该标志的状态表示在一次冒泡中是否有互换进行。下面介绍具体的冒泡法排序过程。
  
   一批单字节无符号数,以RO为首地址指针,R2中为字节数,将这批数进行升序排列。程序框图如图4-2所示。程序如下:

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在人工智能的发展历程中,我们往往认为更多的训练、更复杂的数据能让 AI 变得更加智能。然而,近期一些研究却揭示了令人意外的现象:对小型 AI 语言模型进行数学训练时,过度训练可能会导致其表现急剧下降,甚至出现 “变笨”...

关键字: 人工智能 数据 模型

I2C 总线的起始条件和终止条件通常由主机产生。起始条件是在 SCL 高电平时,SDA 从高电平转为低电平;而终止条件则是当 SCL 高电平时,SDA 从低电平转化为高电平。这两个条件的准确识别对于 I2C 通信的正确启...

关键字: I2C 总线 数据 协议

在AI数据产业中,数据精准度=验收合格数量/全部数量,这意味极高的精准度不仅要满足一些客观标准,还需要与AI项目方的需求深度契合,通过基于需求的验收过程。

关键字: AI 数据

基于使用困难报告系统(SDRS)对钻石DA20飞机的故障数据进行分析 。基于SDRS系统收集到的数据 , 结合故障分类方法 ,对钻石DA20飞机的不同故障进行研究 ,并提出相应的解决措施 ,有利于提高钻石DA20飞机机队...

关键字: SDRS DA20飞机 故障 数据

在当今数字化时代,数据如同流淌在信息高速公路上的血液,驱动着各个领域的创新与发展。而在嵌入式视觉领域,高速数据传输正扮演着越来越关键的角色,它不仅是实现实时、精准视觉感知的基础,更是开启未来智能应用无限可能的钥匙。

关键字: 数据 视觉 传输

在如今数字化的时代,SD 卡作为一种常见的存储设备,承载着我们大量珍贵的记忆和重要的资料,如精彩的照片、珍贵的视频以及关键的文档等。然而,令人头疼的是,SD 卡数据丢失的情况时有发生,可能是由于误删除、格式化、病毒感染、...

关键字: 内存卡 数据

如今,我们正处于一个被无处不在的数据及高耗电应用所驱动的信息计算世界中,使得电源管理成为了不同系统、网络和软件所面临多方面挑战中的不可忽视的一环。

关键字: 数据 高耗电 电源管理

近年来,国内某知名钢铁集团致力于推动传统钢铁主业的高质量发展,通过提高电控自动化水平,进一步优化产品质量和产能效率,不断提升市场竞争力。

关键字: 魏德米勒 电力 信号 数据

北京——2024年4月30日 亚马逊云科技持续引领云上数据服务创新,助力企业构建全面的数据基座以充分发挥数据潜力,加速生成式AI技术落地。在生成式AI时代,数据是企业脱颖而出的关键——基础模型依赖于大规模高质量数据集,生...

关键字: 生成式AI 数据 模型

全新的专有模型导入功能让客户更轻松地将其专属模型导入到Amazon Bedrock中,从而充分利用Amazon Bedrock的强大功能。全新的模型评估功能使客户能够广泛且便捷地选择完全托管模型,包括RAG优化的新版Am...

关键字: 生成式AI 基础模型 数据
关闭