一种快速排序、取中值的方法技术

技术编号:24352273 阅读:33 留言:0更新日期:2020-06-03 01:50
本发明专利技术一种快速排序的方法,包括:步骤1、根据待排序数据序列尺寸,设置序列数据比较记录数组,序列排序位置记录数组;步骤2、从序列第一个数据开始依次向后进行比较时为大的次数或者为小的次数;步骤3、比较中为大的次数即为数据在序列中升序排序后的位置,将此数值赋值给序列排序位置记录数组,完成排序。步骤4,若需取中值,则在比较过程中增加判断比较为大的次数的数值,当数值为数据序列尺寸的一半时,对应的数据即为数据序列的中值。可快速实现数据排序、取中值的功能。

A method of quick sorting and median

【技术实现步骤摘要】
一种快速排序、取中值的方法
本专利技术属于软件
,具体涉及一种快速排序取中值的方法。
技术介绍
软件设计经常需要用到排序,取中值等运算。排序过程需要对数据序列的每个数据进行比较判断,当数据序列的数据量较大时,排序运算的效率也会对系统效率产生影响。常用的排序方法,如冒泡法,选择法等,需要在运算过程中将数据序列中的数据位置进行调换。针对一事物或对象描述往往用到一系列多个特征值的组合,依照其中某个特征值进行排序的处理,有时还不希望改变原事物或对象的原有位置,此时,冒泡法,选择法,就不太适用。
技术实现思路
针对上述问题,本专利技术提供一种快速排序取中值的方法,可快速实现数据排序、取中值的功能。本专利技术一种快速排序的方法,包括:步骤1、根据待排序数据序列尺寸,设置序列数据比较记录数组,序列排序位置记录数组;步骤2、从序列第一个数据开始依次向后进行比较时为大的次数或者为小的次数;步骤3、比较中为大的次数即为数据在序列中升序排序后的位置;比较中为小的次数即为数据在序列中降序排序后的位置,将此数值赋值给序列排序位置记录数组,完成排序。步骤4,若需取中值,则在比较过程中增加判断比较为大的次数的数值,当数值为数据序列尺寸的一半时,对应的数据即为数据序列的中值。本专利技术在排序计算过程中,记录每个数据为大或者为小的次数,得到数据在排序后序列中的位置。利用记录序列位置的方法实现排序,在不挪动原始数据序列的情况下,实现序列排序功能。避免大量数据进行对换移位。不仅可以提高运算速度,还可以减少内存占用。对提高系统性能有重要意义。附图说明图1为本专利技术快速排序法流程图;图2为本专利技术快速排序法流程图;图3为本专利技术利用快速排序法取中值的流程图;具体实施方式下面结合附图对本专利技术作进一步的说明。本专利技术包括以下步骤:步骤1、根据待排序数据序列尺寸,设置序列数据比较记录数组,序列排序位置记录数组;步骤2、从序列第一个数据开始依次向后进行比较时为大的次数或者为小的次数;步骤3、比较中为大的次数即为数据在序列中升序排序后的位置,将此数值赋值给序列排序位置记录数组,完成排序。步骤4、若需取中值,则在比较过程中增加判断比较为大的次数的数值,当数值为数据序列尺寸的一半时,对应的数据即为数据序列的中值。通过判断数据比较结果为大或者为小的次数,选取序列中值。运算速度与中值在原序列中的位置直接相关,若中值位于序列前部,后续比较,计算都可直接省去,可大大减少运算时间。当数据量大,或中值在数据的前段,效率非常高,是普通方法的一百倍以上。上述具体实施方式仅用于解释和说明本专利技术的技术方案,但并不能构成对权利要求的保护范围的限定。本领域技术人员应当清楚,在本专利技术的技术方案的基础上做任何简单的变形或替换而得到的新的技术方案,均将落入本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种快速排序的方法,包括:/n步骤1)根据待排序数据序列尺寸,设置序列数据比较记录数组,序列排序位置记录数组;/n步骤2)从序列第一个数据开始依次向后进行比较时为大的次数或者为小的次数;/n步骤3)比较中为大的次数即为数据在序列中升序排序后的位置;比较中为小的次数即为数据在序列中降序排序后的位置,将此数值赋值给序列排序位置记录数组,完成排序。/n

【技术特征摘要】
1.一种快速排序的方法,包括:
步骤1)根据待排序数据序列尺寸,设置序列数据比较记录数组,序列排序位置记录数组;
步骤2)从序列第一个数据开始依次向后进行比较时为大的次数或者为小的次数;
步骤3)比较中为大的次数即为数据在序列中升序排序后的位置;比较中为小的次数即为数据在序列中降序排序后的位置,将此数值赋值给序列排序位置记录数组,完成排序。


2.一种快速取中值的方法,包括
步骤1)根据待排...

【专利技术属性】
技术研发人员:李洪涛张瑜楹
申请(专利权)人:北京华航无线电测量研究所
类型:发明
国别省市:北京;11

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

1