一种数据排序方法、设备及计算机存储介质技术

技术编号:25801902 阅读:22 留言:0更新日期:2020-09-29 18:35
本发明专利技术公开了一种数据排序方法,将待排序数据每4个数据分为一组,形成待排数组;将其中的数据按最小值、次小值、次大值、最大值进行排序,形成比较数组;比较每两个比较数组中的最小值、次小值,更新最小值和次小值,并比较每两个比较数组中的最大值、次大值,更新最大值和次大值,更新比较数组;循环更新比较数组,直至剩下最后一组比较数组;获取最后一组比较数组中的最小值、次小值、次大值、最大值,输出为结果数组。本发明专利技术公开的数据排序方法,解决了传统的两两比较的算法时间周期长及无法满足较高实时性要求的弊端,且相较于并行全排序所需的硬件资源大量减少。

【技术实现步骤摘要】
一种数据排序方法、设备及计算机存储介质
本专利技术涉及信息电子电路
,更具体地说,特别涉及一种数据排序方法、设备及计算机存储介质。
技术介绍
在硬件电路中,经常需要找出n个数据中的最大值、最小值、次大值、次小值,传统方法是先对这n个数据进行一个全排序,然后在全排序的结果中找出数据中的最大值、最小值、次大值、次小值。而在硬件电路中实现对数据的全排序,大多数应用都采用冒泡法以及选择排序法,选择排序法和冒泡法都属于传统的两两比较的算法,消耗的时间周期比较长,在一些对实时性要求较高的情况下无法满足要求。为了屏蔽冒泡法和选择排序法带来的消耗时间周期长等弊端,大多数硬件电路会采用并行全排序的方法,并行全排序虽然解决了消耗时间周期长的弊端,但是会消耗大量的比较器和加法器,造成资源的浪费,是一种典型的用面积换时间的思想。因此,设计一种节省时间和面积的数据排序方法,屏蔽传统冒泡法和选择排序法带来的消耗时间周期长的弊端,解决并行全排序带来的硬件资源浪费,是本领域技术人员亟待解决的问题。
技术实现思路
专利技术要解决的技术本文档来自技高网...

【技术保护点】
1.一种数据排序方法,其特征在于,包括如下步骤:/n获取待排序数据;/n将每4个数据分为一组,形成待排数组;/n将每个所述待排数组中的数据按最小值、次小值、次大值、最大值进行排序,形成比较数组;/n比较每两个所述比较数组中的所述最小值、所述次小值,更新所述最小值和所述次小值;/n比较每两个所述比较数组中的所述最大值、所述次大值,更新所述最大值和所述次大值;/n依据更新后的所述最小值、所述次小值、所述次大值、所述最大值,更新所述比较数组;/n循环更新所述比较数组,直至剩下最后一组所述比较数组;/n获取最后一组所述比较数组中的所述最小值、所述次小值、所述次大值、所述最大值,输出为结果数组。/n

【技术特征摘要】
1.一种数据排序方法,其特征在于,包括如下步骤:
获取待排序数据;
将每4个数据分为一组,形成待排数组;
将每个所述待排数组中的数据按最小值、次小值、次大值、最大值进行排序,形成比较数组;
比较每两个所述比较数组中的所述最小值、所述次小值,更新所述最小值和所述次小值;
比较每两个所述比较数组中的所述最大值、所述次大值,更新所述最大值和所述次大值;
依据更新后的所述最小值、所述次小值、所述次大值、所述最大值,更新所述比较数组;
循环更新所述比较数组,直至剩下最后一组所述比较数组;
获取最后一组所述比较数组中的所述最小值、所述次小值、所述次大值、所述最大值,输出为结果数组。


2.如权利要求1所述的数据排序方法,其特征在于,所述比较每两个所述比较数组中的所述最小值、所述次小值,更新所述最小值和所述次小值具体为:
将每两个所述比较数组分为第一比较数组和第二比较数组;
比较所述第一比较数组中的所述最小值和所述第二比较数组中的所述最小值,若两个所述最小值不相等,则取数值最小的所述最小值作为更新后的所述最小值;若两个所述最小值相等,则取所述第一比较数组中的所述最小值或所述第二比较数组中的所述最小值作为更新后的所述最小值;
根据所述第一比较数组中的所述最小值和所述第二比较数组中的所述最小值的比较结果,获得更新后的所述次小值。


3.如权利要求2所述的数据排序方法,其特征在于,所述根据所述第一比较数组中的所述最小值和所述第二比较数组中的所述最小值的比较结果,获得次小值具体为:
若所述第一比较数组中的所述最小值小于或等于所述第二比较数组中的所述最小值,则取所述第一比较数组中的所述次小值和所述第二比较数组中的所述最小值中较小者作为更新后的所述次小值,若所述第一比较数组中的所述次小值等于所述第二比较数组中的所述最小值,则取所述第一比较数组中的所述次小值作为更新后的所述次小值;
若所述第一比较数组中的所述最小值大于所述第二比较数组中的所述最小值,则取所述第一比较数组中的所述最小值和所述第二比较数组中的所述次小值中较小者作为更新后的所述次小值,若所述第一比较数组中的所述最小值和所述第二比较数组中的所述次小值相等,则取所述第一比较数组中的所述最小值作为更新后的所述次小值。


4.如权利要求1所述的数据排序方法,其特征在于,所述比较每两个所述比较数组中的所述最大值、所述次大值,更新所述最大值和所述次大值具体为:
将每两个所述比较数组分为第一比较数组和第二比较数组;
比较所述第一比较数组中的所述最大值和所述第二比较数组中的所述最大值,若两个所述最大值不相等,则取数值最大的所述最大值作为更新后的所述最大值;若两个所述最大值相等,则取所述第一比较数组中的所述最大值或所述第二比较数组中的所述最大值作为更新后的所述最大值;
根据所述第一比较数组中的所述最大值和所述第二比较数组中的所述最大值的比较结果,获得更新后的所述次大值。


5.如权利要求4所述的数据排序方法,其特征在于,所述根据所述第一比较数组中的所述最大值和所述第二比较数组中的所述最大值的比较结果,获得更新后的所述次大值具体为:
若所述第一比较数组中的所述最...

【专利技术属性】
技术研发人员:陈霜曾纪国王海波
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1