CN103020272A - 一种字符串的排序方法 - Google Patents
一种字符串的排序方法 Download PDFInfo
- Publication number
- CN103020272A CN103020272A CN201210577739XA CN201210577739A CN103020272A CN 103020272 A CN103020272 A CN 103020272A CN 201210577739X A CN201210577739X A CN 201210577739XA CN 201210577739 A CN201210577739 A CN 201210577739A CN 103020272 A CN103020272 A CN 103020272A
- Authority
- CN
- China
- Prior art keywords
- character string
- character strings
- character
- sequencing
- sort
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了一种字符串的排序方法,包括如下步骤:(1)对待排序字符串数组按字符串的长度大小进行排序;(2)在已经按字符串的长度排好序的字符串数组中,对字符串长度相同的字符串数组按字符串值的大小进行排序。本发明能够实现在数据量不大的情况、对字符串的现实或者使用有特点要求的情况下,对字符串进行排序,使用这种排序方法方便简洁,直观,更符合用户的观点。比如在进行网元直连维护的时候,需要添加用户账号来进行维护,表示账号的字符串就满足上面这种字符串的特点,需要对它进行排序,让这些账号显示得有规律,让用户看起来更友好。
Description
技术领域
本发明涉及数据处理,尤其涉及一种字符串的排序方法。
背景技术
在科技不断发展的今天,计算机的应用领域越来越广,但是受硬件和存储空间大小的限制,如何在有限的资源条件下,提高软件的运行速度是软件开发人员一直努力的方向。在众多方法中,对信息的排序成为程序设计人员考虑的因素之一,排序方法选择得当与否直接影响程序执行的速度和辅助存储空间的占有量,进而影响整个软件的性能。排序是程序设计中的一个重要的操作,排序过程是将一个记录的任意序列,在一定规则的约束下,生成一个有序的序列。
排序可以分为内排序和外排序。内部排序是指整个排序过程不需要访问外存便能完成;外部排序则是整个序列的排序过程不可能在内存中完成,通常这种情况下记录的数量很大。排序算法主要有插入排序、选择排序、交换排序、归并排序和分配排序。这些排序即可应用于常规的数值排序,也可应用于字符串的排序。但是对字符串排序,存在效率不高、无法满足实际开发中遇到的情况,所以需要专门处理字符串的字符串排序算法。
最常见的字符串排序算法有字典排序。Trie树又名字典树,从字面意思即可理解,这种树的结构像英文字典一样,相邻的单词一般前缀相同,之所以时间复杂度低,是因为其采用了以空间换取时间的策略。请参阅图1,为一个针对字符串排序的Trie树(我们假设在这里字符串都是小写字母),每个结点有26个分支,每个分支代表一个字母,结点存放的是从root节点到达此结点的路经上的字符组成的字符串。将每个字符串插入到trie树中,到达特定的结尾节点时,在这个节点上进行标记,如插入"pls"和”vn”,第一个字母为p,沿着p往下,然后第二个字母为l,沿着l往下,第三个为s,沿着s往下,由于字符串最后一个字符为'\0',因而结束,不再往下了,然后在这个节点上标记pls.count++,即其个数增加1. 同理”vn”。
Trie树典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。但是它的应用主要是针对大量的数据,对于数据量比较小的排序,这种排序方法不适合。如在某些系统开发过程中,需要对一些特殊的字符串进行排序,需要排序的字符串有如下特点:1.长度一般都在N(N<=50)个字符以内;2.有很大一部分字符串是由数字字符组成而且长度不一;3. 需要进行排序的字符串在M(M<=10000)个以内;4.对某些系统,需要特殊的排序方式。
发明内容
针对现有技术的特点,本发明的目的是提供一种字符串的排序方法,解决在某些系统中对数据量比较小的字符串进行排序不适合的问题。
为了实现上述目的,本发明的技术方案为:一种字符串的排序方法,包括如下步骤:(1)对待排序字符串数组按字符串的长度大小进行排序;(2)在已经按字符串的长度排好序的字符串数组中,对字符串长度相同的字符串数组按字符串值的大小进行排序。
优选地,在步骤(1)中,字符串长度越大,则字符串越大。
优选地,在步骤(2)中,字符串值越大,则字符串越大。
与现有技术相比,本发明的字符串排序方法能够实现在数据量不大的情况、对字符串的现实或者使用有特点要求的情况下,对字符串进行排序,使用这种排序方法方便简洁,直观,更符合用户的观点。比如在进行网元直连维护的时候,需要添加用户账号来进行维护,表示账号的字符串就满足上面这种字符串的特点,需要对它进行排序,让这些账号显示得有规律,让用户看起来更友好。
附图说明
下面结合附图对本发明作进一步的详细说明。
图1是现有技术的Trie树示意图;
图2是本发明的流程框图;
图3是本发明的按字符串长度排序流程框图;
图4是本发明的按字符串值排序流程框图。
具体实施方式
请参阅图2,先对待排序字符串数组进行按长度大小排序,再对该排好序的数组,长度相同的按值大小排序。
请参阅图3,按长度排序,规则是:字符串长度越大,则字符串越大;得到的是按长度排好序的字符串数组。例如:
待排序字符数组:
按长度排序后为:
请参阅图4,对已经按长度排好序的字符串数组,如果长度相同的字符串,则按照值大小排序;字符串值越大,字符串越大,经过这个步骤排序的结果也就是最终的排序结果。对前述按长度排序后的字符串数组,按值大小排序的结果为:
Claims (3)
1.一种字符串的排序方法,其特征在于,包括如下步骤:(1)对待排序字符串数组按字符串的长度大小进行排序;(2)在已经按字符串的长度排好序的字符串数组中,对字符串长度相同的字符串数组按字符串值的大小进行排序。
2.根据权利要求1所述的字符串的排序方法,其特征在于,在步骤(1)中,字符串长度越大,则字符串越大。
3.根据权利要求1所述的字符串的排序方法,其特征在于,在步骤(2)中,字符串值越大,则字符串越大。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210577739XA CN103020272A (zh) | 2012-12-27 | 2012-12-27 | 一种字符串的排序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210577739XA CN103020272A (zh) | 2012-12-27 | 2012-12-27 | 一种字符串的排序方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103020272A true CN103020272A (zh) | 2013-04-03 |
Family
ID=47968875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210577739XA Pending CN103020272A (zh) | 2012-12-27 | 2012-12-27 | 一种字符串的排序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020272A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949378A (zh) * | 2019-03-26 | 2019-06-28 | 中国科学院软件研究所 | 图像灰度值排序方法、装置、电子设备及计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127798A (zh) * | 2007-09-14 | 2008-02-20 | 深圳华为通信技术有限公司 | 电话簿的排序和搜索方法及装置以及移动终端 |
CN101136035A (zh) * | 2007-10-15 | 2008-03-05 | 金蝶软件(中国)有限公司 | 不同属性字段的排序方法及系统 |
CN101441637A (zh) * | 2007-11-22 | 2009-05-27 | 国际商业机器公司 | 对已排序的字符串序列再排序的方法及装置 |
CN101499094A (zh) * | 2009-03-10 | 2009-08-05 | 焦点科技股份有限公司 | 一种数据压缩存储并检索的方法及系统 |
CN102739985A (zh) * | 2011-05-06 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种用户界面中字符串分组排序的方法 |
-
2012
- 2012-12-27 CN CN201210577739XA patent/CN103020272A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127798A (zh) * | 2007-09-14 | 2008-02-20 | 深圳华为通信技术有限公司 | 电话簿的排序和搜索方法及装置以及移动终端 |
CN101136035A (zh) * | 2007-10-15 | 2008-03-05 | 金蝶软件(中国)有限公司 | 不同属性字段的排序方法及系统 |
CN101441637A (zh) * | 2007-11-22 | 2009-05-27 | 国际商业机器公司 | 对已排序的字符串序列再排序的方法及装置 |
CN101499094A (zh) * | 2009-03-10 | 2009-08-05 | 焦点科技股份有限公司 | 一种数据压缩存储并检索的方法及系统 |
CN102739985A (zh) * | 2011-05-06 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种用户界面中字符串分组排序的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949378A (zh) * | 2019-03-26 | 2019-06-28 | 中国科学院软件研究所 | 图像灰度值排序方法、装置、电子设备及计算机可读介质 |
CN109949378B (zh) * | 2019-03-26 | 2021-06-08 | 中国科学院软件研究所 | 图像灰度值排序方法、装置、电子设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102184169B (zh) | 用于确定字符串信息间相似度信息的方法、装置和设备 | |
CN101446962B (zh) | 一种数据转换方法、装置及数据处理系统 | |
CN103559016B (zh) | 一种基于图形处理器并行计算的频繁子图挖掘方法 | |
CN103365992B (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
CN102591880A (zh) | 信息提供方法及装置 | |
CN103077183A (zh) | 一种分布式顺序表的数据导入方法及其系统 | |
CN101286157A (zh) | 一种文件检索方法及装置和时间流文件处理器 | |
US20140059000A1 (en) | Computer system and parallel distributed processing method | |
CN103440246A (zh) | 用于MapReduce的中间结果数据排序方法及系统 | |
CN104077385A (zh) | 一种文件的分类及检索方法 | |
CN101477555B (zh) | 基于sql数据库的任务树的快速检索及生成显示的方法 | |
US20150262063A1 (en) | Decision tree processors | |
CN110222074A (zh) | 索引查找方法、查找装置、电子设备及存储介质 | |
CN105359142B (zh) | 哈希连接方法和装置 | |
CN100476824C (zh) | 存储元素的方法与系统及查找元素的方法与系统 | |
CN102207935A (zh) | 用于创建索引的方法和系统 | |
CN102081649A (zh) | 一种搜索电脑文件的方法及其系统 | |
CN110427404A (zh) | 一种区块链跨链数据检索系统 | |
Wei et al. | A fast algorithm for constructing inverted files on heterogeneous platforms | |
CN102298618A (zh) | 一种获取匹配度以执行相应操作的方法、装置及设备 | |
CN103699653A (zh) | 数据聚类方法和装置 | |
CN102446167A (zh) | 一种基于逻辑模板对复杂字符串逻辑处理的方法和装置 | |
US8667008B2 (en) | Search request control apparatus and search request control method | |
CN112445776B (zh) | 基于Presto的动态分桶方法、系统、设备及可读存储介质 | |
CN104268146A (zh) | 一种适合分析型应用的静态b+树索引方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130403 |