一种字符串排序方法及装置制造方法及图纸

技术编号:22218628 阅读:23 留言:0更新日期:2019-09-30 01:08
本申请公开一种字符串排序方法,包括:获得第一统一码和第二统一码;按照从高位到低位的顺序,分别在第一统一码中和第二统一码中依次提取码段,直至在第一统一码提取出的第一码段,不同于在第二统一码中提取出的第二码段;在第一码段对应的字符和第二码段对应的字符为不同字符类型时,根据预设的多个字符类型的大小关系,确定第一码段对应的字符和第二码段对应的字符的大小关系;确定第一码段对应的字符和第二码段对应的字符中较大者对应的字符串大于另一字符串;根据第一字符串和第二字符串的大小关系,对两个字符串进行排序。基于本申请公开的方法,在待排序的多个字符串包含多种类型的字符的情况下,能够快速地对多个字符串的排序。

A String Sorting Method and Device

【技术实现步骤摘要】
一种字符串排序方法及装置
本申请属于计算机
,尤其涉及字符串排序方法及装置。
技术介绍
随着存储技术的不断发展,无论是终端还是服务器都会存储大量的文件,视频网站的服务器更是存储有海量的视频文件。为了便于管理和查找文件,通常要对文件进行排序。对多个文件的排序,其实质是对多个文件的名称进行排序,也就是对多个字符串进行排序。由于文件的命名往往比较随意,就导致文件的名称会包含多种类型的字符。如何对多个由多类型字符构成的字符串进行排序,是本领域技术人员面临的技术难题。
技术实现思路
有鉴于此,本申请的目的在于提供一种字符串排序方法及装置,以实现对多个由多类型字符构成的字符串进行排序的目的。为实现上述目的,本申请提供如下技术方案:本申请提供一种字符串排序方法,包括:获得第一统一码和第二统一码;其中,所述第一统一码为待排序的第一字符串对应的统一码,所述第二统一码为待排序的第二字符串对应的统一码;按照从高位到低位的顺序,分别在所述第一统一码中和所述第二统一码中依次提取码段,直至在所述第一统一码中提取出的第一码段,不同于在所述第二统一码中提取出的第二码段;其中,在所述第一统一码中提取的码段对应于所述第一字符串中的一个字符;在所述第二统一码中提取的码段对应于所述第二字符串中的一个字符;在所述第一码段对应的字符和所述第二码段对应的字符为不同字符类型的情况下,根据预设的多个字符类型的大小关系,确定所述第一码段对应的字符和所述第二码段对应的字符的大小关系;确定所述第一码段对应的字符和所述第二码段对应的字符中较大者对应的字符串大于另一字符串;根据所述第一字符串和所述第二字符串的大小关系,对所述第一字符串和所述第二字符串进行排序。可选的,在上述方法的基础上,还包括:在所述第一码段对应的字符和所述第二码段对应的字符均为数字类型的情况下,在所述第一统一码中提取第三码段,在所述第二统一码中提取第四码段;其中,所述第三码段为第一数字串对应的码段,所述第四码段为第二数字串对应的码段;所述第一数字串为所述第一码段对应的字符在所述第一字符串中所属的数字串,所述第二数字串为所述第二码段对应的字符在所述第二字符串中所属的数字串;将所述第三码段转换为浮点型的第一数据,将所述第四码段转换为浮点型的第二数据;确定所述第一数据和所述第二数据中较大者对应的字符串大于另一字符串。可选的,在上述方法的基础上,还包括:在所述第一码段对应的字符和所述第二码段对应的字符均为中文字类型的情况下,获得第一拼音和第二拼音,其中,所述第一拼音为所述第一码段对应的字符的拼音,所述第二拼音为所述第二码段对应的字符的拼音;按照从左到右的顺序,分别在所述第一拼音和所述第二拼音中依次提取字母;如果在所述第一拼音和所述第二拼音中提取出的处于相同次序的两个字母不同,则比较所述两个字母的大小,确定所述两个字母中较大者对应的字符串大于另一字符串;如果所述第一拼音和所述第二拼音包含相同数量的字母,且所述第一拼音和所述第二拼音中处于相同次序的字母均相同,则比较所述第一拼音中的第一声调和所述第二拼音中的第二声调的大小,确定所述第一声调和所述第二声调中较大者对应的字符串大于另一字符串。可选的,在上述方法的基础上,还包括:如果所述第一拼音和所述第二拼音相同,则获得所述第一码段对应的字符的第一ASCⅡ码和所述第二码段对应的字符的第二ASCⅡ码,比较所述第一ASCⅡ码和所述第二ASCⅡ码的大小,确定所述第一ASCⅡ码和所述第二ASCⅡ码中较大者对应的字符串大于另一字符串。可选的,在上述方法的基础上,还包括:在所述第一统一码和所述第二统一码中的任意一个完成全部码段的提取,但未提取到不同的码段的情况下,确定所述第一统一码和所述第二统一码中长度较大者对应的字符串大于另一字符串。本申请还提供一种字符串排序装置,包括:数据获取单元,用于获得第一统一码和第二统一码;其中,所述第一统一码为待排序的第一字符串对应的统一码,所述第二统一码为待排序的第二字符串对应的统一码;码段提取单元,用于按照从高位到低位的顺序,分别在所述第一统一码中和所述第二统一码中依次提取码段,直至在所述第一统一码提取出的第一码段,不同于在所述第二统一码中提取出的第二码段;其中,在所述第一统一码提取的码段对应于所述第一字符串中的一个字符;在所述第二统一码中提取的码段对应于所述第二字符串中的一个字符;字符类型比较单元,用于在所述第一码段对应的字符和所述第二码段对应的字符为不同字符类型的情况下,根据预设的多个字符类型的大小关系,确定所述第一码段对应的字符和所述第二码段对应的字符的大小关系;确定所述第一码段对应的字符和所述第二码段对应的字符中较大者对应的字符串大于另一字符串;排序单元,用于根据所述第一字符串和所述第二字符串的大小关系,对所述第一字符串和所述第二字符串进行排序。可选的,在上述装置的基础上,还包括:数字串比较单元,用于在所述第一码段对应的字符和所述第二码段对应的字符均为数字类型的情况下,在所述第一统一码中提取第三码段,在所述第二统一码中提取第四码段;其中,所述第三码段为第一数字串对应的码段,所述第四码段为第二数字串对应的码段;所述第一数字串为所述第一码段对应的字符在所述第一字符串中所属的数字串,所述第二数字串为所述第二码段对应的字符在所述第二字符串中所属的数字串;将所述第三码段转换为浮点型的第一数据,将所述第四码段转换为浮点型的第二数据;确定所述第一数据和所述第二数据中较大者对应的字符串大于另一字符串。可选的,在上述装置的基础上,还包括:拼音比较单元,用于在所述第一码段对应的字符和所述第二码段对应的字符均为中文字类型的情况下,获得第一拼音和第二拼音,其中,所述第一拼音为所述第一码段对应的字符的拼音,所述第二拼音为所述第二码段对应的字符的拼音;按照从左到右的顺序,分别在所述第一拼音和所述第二拼音中依次提取字母;如果在所述第一拼音和所述第二拼音中提取出的处于相同次序的两个字母不同,则比较所述两个字母的大小,确定所述两个字母中较大者对应的字符串大于另一字符串;如果所述第一拼音和所述第二拼音包含相同数量的字母,且所述第一拼音和所述第二拼音中处于相同次序的字母均相同,则比较所述第一拼音中的第一声调和所述第二声调中的第二音调的大小,确定所述第一声调和所述第二声调中较大者对应的字符串大于另一字符串。可选的,在上述装置的基础上,还包括:标准代码比较单元,用于在所述拼音比较单元确定所述第一拼音和所述第二拼音相同的情况下,获得所述第一码段对应的字符的第一ASCⅡ码和所述第二码段对应的字符的第二ASCⅡ码,比较所述第一ASCⅡ码和所述第二ASCⅡ码的大小,确定所述第一ASCⅡ码和所述第二ASCⅡ码中较大者对应的字符串大于另一字符串。可选的,在上述装置的基础上,还包括:长度比较单元,用于在所述第一统一码和所述第二统一码中的任意一个完成全部码段的提取,但未提取到不同的码段的情况下,确定所述第一统一码和所述第二统一码中长度较大者对应的字符串大于另一字符串。由此可见,本申请公开的字符串排序方法,针对待排序的第一字符串和第二字符串,首先获得与第一字符串对应的第一统一码、以及与第二字符串对应的第二统一码,之后按照从高位到低位的顺序,分别在第一统一码中和第二统一码中依本文档来自技高网...

【技术保护点】
1.一种字符串排序方法,其特征在于,包括:获得第一统一码和第二统一码;其中,所述第一统一码为待排序的第一字符串对应的统一码,所述第二统一码为待排序的第二字符串对应的统一码;按照从高位到低位的顺序,分别在所述第一统一码中和所述第二统一码中依次提取码段,直至在所述第一统一码中提取出的第一码段,不同于在所述第二统一码中提取出的第二码段;其中,在所述第一统一码中提取的码段对应于所述第一字符串中的一个字符;在所述第二统一码中提取的码段对应于所述第二字符串中的一个字符;在所述第一码段对应的字符和所述第二码段对应的字符为不同字符类型的情况下,根据预设的多个字符类型的大小关系,确定所述第一码段对应的字符和所述第二码段对应的字符的大小关系;确定所述第一码段对应的字符和所述第二码段对应的字符中较大者对应的字符串大于另一字符串;根据所述第一字符串和所述第二字符串的大小关系,对所述第一字符串和所述第二字符串进行排序。

【技术特征摘要】
1.一种字符串排序方法,其特征在于,包括:获得第一统一码和第二统一码;其中,所述第一统一码为待排序的第一字符串对应的统一码,所述第二统一码为待排序的第二字符串对应的统一码;按照从高位到低位的顺序,分别在所述第一统一码中和所述第二统一码中依次提取码段,直至在所述第一统一码中提取出的第一码段,不同于在所述第二统一码中提取出的第二码段;其中,在所述第一统一码中提取的码段对应于所述第一字符串中的一个字符;在所述第二统一码中提取的码段对应于所述第二字符串中的一个字符;在所述第一码段对应的字符和所述第二码段对应的字符为不同字符类型的情况下,根据预设的多个字符类型的大小关系,确定所述第一码段对应的字符和所述第二码段对应的字符的大小关系;确定所述第一码段对应的字符和所述第二码段对应的字符中较大者对应的字符串大于另一字符串;根据所述第一字符串和所述第二字符串的大小关系,对所述第一字符串和所述第二字符串进行排序。2.根据权利要求1所述的方法,其特征在于,还包括:在所述第一码段对应的字符和所述第二码段对应的字符均为数字类型的情况下,在所述第一统一码中提取第三码段,在所述第二统一码中提取第四码段;其中,所述第三码段为第一数字串对应的码段,所述第四码段为第二数字串对应的码段;所述第一数字串为所述第一码段对应的字符在所述第一字符串中所属的数字串,所述第二数字串为所述第二码段对应的字符在所述第二字符串中所属的数字串;将所述第三码段转换为浮点型的第一数据,将所述第四码段转换为浮点型的第二数据;确定所述第一数据和所述第二数据中较大者对应的字符串大于另一字符串。3.根据权利要求1或2所述的方法,其特征在于,还包括:在所述第一码段对应的字符和所述第二码段对应的字符均为中文字类型的情况下,获得第一拼音和第二拼音,其中,所述第一拼音为所述第一码段对应的字符的拼音,所述第二拼音为所述第二码段对应的字符的拼音;按照从左到右的顺序,分别在所述第一拼音和所述第二拼音中依次提取字母;如果在所述第一拼音和所述第二拼音中提取出的处于相同次序的两个字母不同,则比较所述两个字母的大小,确定所述两个字母中较大者对应的字符串大于另一字符串;如果所述第一拼音和所述第二拼音包含相同数量的字母,且所述第一拼音和所述第二拼音中处于相同次序的字母均相同,则比较所述第一拼音中的第一声调和所述第二拼音中的第二声调的大小,确定所述第一声调和所述第二声调中较大者对应的字符串大于另一字符串。4.根据权利要求3所述的方法,其特征在于,还包括:如果所述第一拼音和所述第二拼音相同,则获得所述第一码段对应的字符的第一ASCⅡ码和所述第二码段对应的字符的第二ASCⅡ码,比较所述第一ASCⅡ码和所述第二ASCⅡ码的大小,确定所述第一ASCⅡ码和所述第二ASCⅡ码中较大者对应的字符串大于另一字符串。5.根据权利要求所1或2述的方法,其特征在于,还包括:在所述第一统一码和所述第二统一码中的任意一个完成全部码段的提取,但未提取到不同的码段的情况下,确定所述第一统一码和所述第二统一码中长度较大者对应的字符串大于另一字符串。6.一种字符串排序装置,其特征在于,包括:数据获取单元,用于获得第一统一码和第二统一码;...

【专利技术属性】
技术研发人员:林荷滨李鑫辉黄凯
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1