数据排序方法和装置制造方法及图纸

技术编号:15540632 阅读:25 留言:0更新日期:2017-06-05 10:25
本发明专利技术涉及一种数据排序方法和装置,所述方法包括:在每条待排序数据前添加指针;通过修改所述指针对所述待排序数据进行排序,在排序过程中保持所述待排序数据的存储位置不变,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址。上述数据排序方法和装置,通过引入指针,保持原始数据的存储位置不变,仅仅通过改变指针来对数据进行排序,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址,实现了非顺序存储的排序,排序效率高,应用广泛。

Data sorting method and apparatus

The invention relates to a data sorting method and device. The method includes: in each data to be sorted before adding pointers; by modifying the pointer to the sort of data sorting, keep the storage location in the sorting process to sort data unchanged, making the pointer each sorted data point according to the sort order of a sorted data address. The above data sorting method and apparatus, by introducing pointers, keep the storage location of the original data unchanged, just by changing the pointer to pointer to sort the data, making each of the sorted data points according to the sort order of a sorted data address, the non sequential storage sorting, sorting high efficiency. Wide application.

【技术实现步骤摘要】
数据排序方法和装置
本专利技术涉及计算机
,特别是涉及一种数据排序方法和装置。
技术介绍
目前存在多种排序算法,例如“冒泡排序”、“简单选择排序”、“直接插入排序”、“堆排序”、“希尔排序”等等,该些排序是在单片机芯片上面进行排序的,通常在排序的时候会擦除原始信息,例如原始信息的存储顺序是A1、A2、A3、A4、A5时,而排序后的信息是A2、A3、A1、A5、A4,由于排序是在单片机芯片的随机存取存储器中进行的,因此会直接改变原始信息的存储位置,从而得到排序后的信息,从而导致原始信息的存储位置的丢失。
技术实现思路
基于此,有必要提供一种数据排序方法和装置,其可以在对数据排序后,仍可以保持原始数据信息。一种数据排序方法,所述方法包括:在每条待排序数据前添加指针;通过修改所述指针对所述待排序数据进行排序,在排序过程中保持所述待排序数据的存储位置不变,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址。在其中一个实施例中,所述在每条待排序数据前添加指针的步骤,是在每条待排序数据前添加指针以形成组合数据。在其中一个实施例中,所述通过修改所述指针对所述待排序数据进行排序的步骤中,是以关键字对所述待排序数据进行排序;当通过多组关键字分别进行排序时,所述在每条待排序数据前添加指针的步骤,是在每条待排序数据对应的组合数据前添加与当前排序依据的关键字对应的指针以形成组合数据。在其中一个实施例中,所述待排序数据为一数据块,所述数据块中包含数个字节的数据。在其中一个实施例中,所述数据存储于flash存储器或ram存储器中。在其中一个实施例中,所述数据存储于flash存储器中;所述在每条待排序数据前添加指针的步骤中添加的指针的每一位均为1。一种数据排序装置,所述装置包括:数据模块,用于存储所述待排序数据,且在排序过程中保持所述待排序数据的存储位置不变。指针模块,该指针模块的输入端与所述数据模块的输出端相连接,该指针模块用于在每条待排序数据前添加指针;排序模块,该排序模块的输入端与所述指针模块的输出端相连接,该排序模块用于通过修改所述指针对所述待排序数据进行排序,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址。在其中一个实施例中,所述指针模块包括:关键字识别单元,用于获取关键字的组数;指针添加单元,该指针添加单元的输入端与所述关键字识别单元的输出端相连接,该指针添加单元用于根据所述关键字的组数,在每条待排序数据对应的组合数据前添加与当前排序依据的关键字对应的指针以形成组合数据。在其中一个实施例中,所述待排序数据为一数据块,所述数据块中包含数个字节的数据。在其中一个实施例中,所述数据存储于flash存储器或ram存储器中。上述数据排序方法和装置,通过引入指针,保持原始数据的存储位置不变,仅仅通过改变指针来对数据进行排序,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址,实现了非顺序存储的排序,排序效率高,应用广泛。附图说明图1为一实施例中数据排序方法的流程图;图2为图1所示实施例的一应用图;图3为图2中所示的数据经过排序后的示意图;图4为图1所示实施例的另一应用图;图5为一实施例中数据排序装置的示意图。其中,100数据模块200指针模块300排序模块具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本专利技术,并不用于限定本专利技术。在详细说明根据本专利技术的实施例前,应该注意到的是,所述的实施例主要在于与数据排序方法和装置相关的步骤和系统组件的组合。因此,所属系统组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了,并且只示出了与理解本专利技术的实施例有关的细节,以免因对于得益于本专利技术的本领域普通技术人员而言显而易见的那些细节模糊了本专利技术的公开内容。在本文中,诸如左和右,上和下,前和后,第一和第二之类的关系术语仅仅用来区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。请参阅图1所示,图1为一实施例中数据排序方法的流程图,在该实施例中,该方法可以包括:S102:在每条待排序数据前添加指针。请参阅图2所示,图2为图1所示实施例的一应用图。在该实施例中,数据A1前添加第一指针1,数据A2前添加第一指针2,数据A3前添加第一指针3,数据A4前添加第一指针4,数据A5前添加第一指针5,且虽然在数据前添加了指针,但是该数据A1、A2、A3、A4、A5的存储的先后顺序并未改变。S104:通过修改指针对待排序数据进行排序,在排序过程中保持待排序数据的存储位置不变,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址。请参阅图3所示,图3为图2中所示的数据经过排序后的示意图。在该实施例中,虽然经过排序,但是数据A1、A2、A3、A4、A5的存储的先后顺序并未改变,即其的存储位置是不变的,但是可以看到图2中数据A1、A2、A3、A4、A5的指针发生了变化,假设排序后的数据的顺序是A2、A5、A4、A3、A1,则可以发现数据A2前的第二指针指向了数据A5的地址,数据A5前的第五指针指向了数据A4的地址,数据A4前的第四指针指向了数据A3的地址,数据A3前的第三指针指向了数据A1的地址,即当知晓了A2的地址,则就可以按照顺序访问A5、A4、A3、A1,在实际应用中,数据可以依存储顺序进行读取,例如先读取第一指针1,如果第一指针1未改变,则继续读取第一指针2,此时可以发现第一指针2指向了数据A5,这样就可以按照顺序访问A5、A4、A3、A1,在其他实施例中,还可以在排序阶段时,在最小数据或最大数据或者以其他关键字进行排序后的第一个数据的指针上进行标记,以标识数据从该数据进行读取,这样当需要读取时,遍历到该指针时,则进行数据的读取。因此在该实施例中,上述数据排序方法和装置,通过引入指针,保持原始数据的存储位置不变,仅仅通过改变指针来对数据进行排序,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址,实现了非顺序存储的排序,排序效率高,应用广泛。在其中一个实施例中,请再次参阅图3所示,在每条待排序数据前添加指针的步骤具体可以为以在每条待排序数据前添加指针以形成组合数据,例如图3中所示的第一指针1和数据A1其组合形成为第一组合数据,第一指针2和数据A2其组合也形成为第一组合数据,第一指针3和数据A3其组合也形成为第一组合数据,第一指针4和数据A4其组合也形成为第一组合数据,第一指针5和数据A5其组合也形成为第一组合数据。该种数据的形成可以应用在仅以一个关键字进行排序的场景中,例如在老师统计成绩的时候,其可能需要仅以成绩为关键字进行排序,这时在每个数据前仅添加一个指针即可。在该实施例中,在需要进行排序时通过改变指针所指向的地址来进行数据的排序,即仅改变指针,但保持原始数据的顺序。例如老师可能在统计数据时,本文档来自技高网...
数据排序方法和装置

【技术保护点】
一种数据排序方法,其特征在于,所述方法包括:在每条待排序数据前添加指针;通过修改所述指针对所述待排序数据进行排序,在排序过程中保持所述待排序数据的存储位置不变,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址。

【技术特征摘要】
1.一种数据排序方法,其特征在于,所述方法包括:在每条待排序数据前添加指针;通过修改所述指针对所述待排序数据进行排序,在排序过程中保持所述待排序数据的存储位置不变,使得每条排序后的数据的指针指向按照排序顺序的下一条排序后的数据的地址。2.根据权利要求1所述的数据排序方法,其特征在于,所述在每条待排序数据前添加指针的步骤,是在每条待排序数据前添加指针以形成组合数据。3.根据权利要求2所述的数据排序方法,其特征在于,所述通过修改所述指针对所述待排序数据进行排序的步骤中,是以关键字对所述待排序数据进行排序;当通过多组关键字分别进行排序时,所述在每条待排序数据前添加指针的步骤,是在每条待排序数据对应的组合数据前添加与当前排序依据的关键字对应的指针以形成组合数据。4.根据权利要求1所述的数据排序方法,其特征在于,所述待排序数据为一数据块,所述数据块中包含数个字节的数据。5.根据权利要求1至4任一项所述的数据排序方法,其特征在于,所述数据存储于flash存储器或ram存储器中。6.根据权利要求5所述的数据排序方法,其特征在于,所述数据存储于flash存储器中;所述在每条待排序...

【专利技术属性】
技术研发人员:陈明秋毛伟文
申请(专利权)人:珠海市杰理科技股份有限公司
类型:发明
国别省市:广东,44

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

1